楼主: 爱萌
7743 17

[技术讨论与投票] [讨论]终于总结了一下,SAS如何处理海量数据,在其中而产生的问题(2) [推广有奖]

贵宾

学术权威

55%

还不是VIP/贵宾

-

威望
8
论坛币
96939 个
通用积分
12.2915
学术水平
231 点
热心指数
299 点
信用等级
157 点
经验
102615 点
帖子
6194
精华
1
在线时间
2021 小时
注册时间
2007-3-2
最后登录
2021-8-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
偏从内存等角度处理这个,
[nosewjc]    不要把数据都读到内存里就好了,需要的时候读入,不需要的时候就释放掉空间。当然如果数据需要计算多次,那就需要改改算法,尽量只读一次来算。
其实,我个人认为这个nosewjc提议非常好,但是我们怎么才能实现?后面跟两个回复是相关一些介绍,内存方面的,还是讨论一下吧。这个解决方案是最理想的,如何才能实现是我比较关注的,由于能力有限,期待大家的讨论后产生火花!

上次的有相关的解决方案和问题的阐述,还请大家关注https://bbs.pinggu.org/thread-1188681-1-1.html

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:海量数据 thread pinggu 解决方案 HTML

回帖推荐

yatming 发表于7楼  查看完整内容

好久不上论坛,很幸运能看到许多面对问题的解决办法,确实带来了很多启发。 事实上此类问题应该有高级应用来解决。比较同意soporaeternus的说法,一门工具有其长处。不可能也不会在全部领域都能cover。 说说自己的想法: 首先如果只讨论在有限的单节点环境上如何利用资源管理优化其实是不合适的。因为资源有限,无论是内存还是CPU和IO,都往往顶不住压力,假设即使在具有完美资源管理的条件下,如果处理海量数据的时间,能足够 ...

本帖被以下文库推荐

最恨对我说谎或欺骗我的人
沙发
爱萌 发表于 2011-9-25 16:28:01 |只看作者 |坛友微信交流群
[franklin_fuf] 本质上处理起来必须用内存缓冲技术,即要用到时分块地进入内存, 不用时存入临时文件. 那么接下来的问题就是如何处理分块矩阵拉,本质上任何算法都是矩阵运算,因此所有算法都要相应地为分块矩阵服务.比如原来简单的矩阵相乘, 如果分块计算,然后复原就困难点拉. 如果是特征值运算,那算法的复杂性就成倍上升.
其次是IT技术,比如多CPU处理, 分机协同处理. 偶不是很懂这些.
但本质仍然是算法. 比如稀疏矩阵就要用特殊算法才可行.
说得再理论点, 关键还是看你要解决的问题, 如果本身是NP问题, 估计再好的算法也无能为力了.
最恨对我说谎或欺骗我的人

使用道具

藤椅
爱萌 发表于 2011-9-25 16:28:27 |只看作者 |坛友微信交流群
[fullwayshee]        理论上SAS可以处理无限大的数据,只要你有无限大的硬盘,这和内存关系不大。在处理大数据时,硬盘读写时间往往占去大块,因此在算法上需要多次读写的时候,最好把数据切成小块再进行计算,然后再合并,节约硬盘读写时间。
最恨对我说谎或欺骗我的人

使用道具

板凳
goodaboy11 发表于 2011-9-25 22:19:48 |只看作者 |坛友微信交流群
受教了,粗略地看了下。目前还没有遇到这么大的数据,先收藏了

使用道具

报纸
沉香意意 发表于 2011-9-26 10:13:13 |只看作者 |坛友微信交流群
求高手相助、、、、

使用道具

地板
可道可名 发表于 2011-9-26 13:52:49 |只看作者 |坛友微信交流群
en,目前也没遇到这么大的数据,不过SAS可以直接连接ORACLE的

使用道具

7
yatming 发表于 2011-9-28 17:43:35 |只看作者 |坛友微信交流群
好久不上论坛,很幸运能看到许多面对问题的解决办法,确实带来了很多启发。
事实上此类问题应该有高级应用来解决。比较同意soporaeternus的说法,一门工具有其长处。不可能也不会在全部领域都能cover。

说说自己的想法:
首先如果只讨论在有限的单节点环境上如何利用资源管理优化其实是不合适的。因为资源有限,无论是内存还是CPU和IO,都往往顶不住压力,假设即使在具有完美资源管理的条件下,如果处理海量数据的时间,能足够进行一次环球旅游,那么即使实现也是无意义的。

其次,面对海量数据的处理这样时下的热门话题,其实有心可以了解一下,目前有很多面向这类数据处理的方法在快速发展,NOSQL,DFS, 共同的都是以并行计算模型和集中式高级计算为基础。而这又牵涉到很多问题,节点度,数据分配,文件索引等等等等,甚至有些像TD需要从硬件角度来解决。而这几年数据量在增大,数据种类也在增多,更多的非结构化数据和半结构化数据的出现,处理数据也不像几年前用关系型的载体或者使用商业版本的工具这么简单了。所以面对这些大多不是SAS能cover或者擅长的领域,仍然是无法讨论的。

再次,从应用角度上而言,SAS是门工具,所有的功能都是开放给user的接口,所以它不是底层。因此我们无法保证所有处理模块上都能成功运行。或许某处有个内存泄露的bug我们也不知,而SAS有又没有处理bug的接口,因此很有可能只能眼巴巴看着memory往上跳。而诸如内存管理或者系统资源管理的问题,合理是从底层来解决,但这不是SAS user的问题,而是develop SAS的disgner/programmer的问题。如果有些user有能耐处理诸如控制释放内存这类资源问题的话,其实一开始也不会选择用SAS来处理,能有足够的能力用高级语言开发个临时脚本模块就完事了。

因此虽然SAS或许还能在某些应用场合上勉强应对海量数据,但未来趋势却并不乐观。

关于大数据,也给些建议,如果是使用TB级别,有条件的话,推荐使用高性能企业级数据库(例如TD,Oracle,DB2,而MySql和PrepgSQL也可以先建集群)LOAD后再在DB中做处理比较合适,SAS/ACCESS 调用ODBC到DB或者直接连接DB,当然也可以试试High Performance,但Access最好使用explicit的方式,尽量不要libname,因为只有在explicit的方式下,才是通过SAS向DB提交语句,让所有计算压力承担在DB上,影响因素只是内网IO,而用libname则是会做parsing statement的,可能会有些计算需要等DB返还再处理,这就又回到考虑本机计算能力了。
如果超过TB级别的,至少对于分析型的应用目前还没有很好的解决方案,只能静候佳音。

最后就如sop所说,SAS是个工具但不是唯一的工具,对于数据处理而言,技术多样性是必要的,而面对各类复杂应用,了解每个方法的特点扬长避短以达到最优的能力同样也是不可忽视的。
已有 1 人评分热心指数 收起 理由
爱萌 + 1 很好

总评分: 热心指数 + 1   查看全部评分

使用道具

8
sunshine880607 发表于 2011-10-14 09:57:40 |只看作者 |坛友微信交流群
很强大啊....不错!
既然没有得到的快乐,又何来失去的痛苦!

使用道具

9
greatvia 发表于 2012-1-24 12:55:17 |只看作者 |坛友微信交流群
没有机会碰到如此海量数据啊

使用道具

10
zkymath 在职认证  发表于 2012-1-28 21:43:34 |只看作者 |坛友微信交流群
天方夜谭

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 19:12