全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10614 30
2011-08-04
关注本人围脖: http://weibo.com/saslist

以下为简明版, 详细图文版 见  http://saslist.net/archives/154

前言:  大家经常讨论SAS软件方面的技术问题,而对硬件关注相对较少,因此这里根据本人最近的配机经验,结合资料介绍运行SAS系统的硬件情况,给大家一个这方面的参考。 非常感谢shiyiming,kuhasu,张磊IDMer对本文草稿进行了很多重要的补充,本文才得以完整和无误 !
CPU

    一般来说,CPU是机器大脑,核频率和数量越多越好,不过对于SAS来说,主流的CPU都足够运算。跑SAS,一般都是IO限制成了瓶颈。我们可以通过log窗口可知每个程序消耗的cpu时间cpu time和实际时间real time,通过这些数据,就可以知道程序运行过程中机器的短板。在数据读写较多时候,一般都是realtime远大于cpu time,存在IO速度瓶颈;如果cputime接近realtime,那么存在CPU速度瓶颈。这样的话,你就知道该怎么办了。

注:用系统options threads;来保证开启多线程,SAS9.2以后都是默认多线程的。

建议:买一般的主流CPU就可以了,不过这个因素影响很小,当然预算充足的话,核越多越好。现在普通用途的CPU,Intel酷睿系列i3,i5,i7,四核,六核都出来了。

内存

    现在的内存白菜价,DDR3的4G,京东做活动只要159元。个人机的话,看主板最大的内存支持是多大,可以根据自己需要尽量买。SAS公司@张磊IDMer建议:CPU内核个数 vs 内存 大约在1:4左右,即1个内核配4G内存左右。如果运算复杂程度不算很大,1:2也可以作为基本配置。                      saslist.net   

硬盘   
一般来说,SAS的数据主要考虑二个部分:1,临时数据;2,永久数据。临时数据就是那些中间过程数据,被反复的频繁读入写出,但是一旦使用完就可以删掉;而永久数据一般都是原始数据(读出)、整理好(读写)或分析结果数据(写入),不经常读写,但是非常重要,最好稳定可靠,不容易丢失。

有一个很简单的道理,那就是既满足读写快,又稳定可靠的储存方式是非常贵的。如果需要一个性价比高的方案就是,稳定可靠但比较慢的储存方式加很快但稳定性一般的储存方式。对于SAS来说,软件上很好实现,只需要指定一下数据集的位置就可以了。

因此磁盘阵列仍然是跑SAS的高性价比方案的首选。比较推荐的方案为用RAID0阵列来放SAS临时数据work,用RAID5或RAID10来放永久数据。单个IDE,SATA接口的硬盘肯定是一般般的,目前好像固态硬盘SSD很快,其实它并不适合SAS,因为SSD不适合数据读写非常频繁的SAS操作。


实际情况中,个人使用的话,如果只考虑性能最大化推荐磁盘阵列 RAID0,不过注意备份。 当然现在IDE的硬盘很便宜,120G7200转全新只要100元左右,如果你的主板不支持raid或者没有IDE插槽的话,买一个PCI转IDE阵列卡(50元左右)就可以了。目前的主流配置是SATA2或3的硬盘接口,所以买一个容量够大的SATA接口硬盘做系统和资料盘,然后花500元左右配一个4IDE接口的整列盘,还是性价比很高的。(如果你觉得这样还不行,参照下面的。)

公司或实验室的小型服务器的话,系统和永久数据集都是用Raid5,预算充足的话用Raid10,临时数据集work使用Raid0。 当然,全部都用SATA或SAS接口的硬盘来组阵列。

其他硬件:主板当然需要支持上面所有硬件才行,也是非常重要的,整体性能和兼容性方面需要考虑;显卡,声卡,网卡,显示器都酌情考虑就可以了,没有特别讲究。 From saslist.net


参考:

原创文章: ”SAS爱好者专用电脑配置建议 by sxlion“,转载请注明: 转自SAS资源资讯列表

本文链接地址:[url]http://saslist.net/archives/154[/url]






二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-4 01:53:57
摘要:

多核CPU
高内存
RAID 0
二维码

扫码加我 拉你入群

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

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

2011-8-4 01:59:37
数据不多的话,一般的都全载入内存了,也不存在I/O瓶颈。个人配电脑弄个16G内存还是没什么压力的。
数据太多的话,I/O瓶颈怎么都缓和不了。4块7200转硬盘的RAID 0的连续读写也就顶一个固态硬盘,没什么质变。随机读写就更没法跟固态硬盘比了。
二维码

扫码加我 拉你入群

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

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

2011-8-4 06:55:32
各位专家,我跑SAS遇到的问题是:我的电脑有C盘和D盘,C盘仅剩下10几G的空间,但是D盘空间仍很大。最近,我跑一个很大的数据集,涉及proc sql,
很快就把我的C盘空间耗完了。我的问题是:我能否指定D盘作为我的临时内存的存储空间?如何设定?我电脑知识有点弱,sas水平还行,请专家尽量详细告之。谢谢。
二维码

扫码加我 拉你入群

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

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

2011-8-4 08:20:30
nectar 发表于 2011-8-4 06:55
各位专家,我跑SAS遇到的问题是:我的电脑有C盘和D盘,C盘仅剩下10几G的空间,但是D盘空间仍很大。最近,我 ...
nectar, 一般来说work是临时数据库,并且随SAS启动,自动设置到默认的目录下(一般是C盘)。你是想更改work到D盘,有些语言好像可以更改默认目录的,但是在SAS里面我还没找到(可能有)。

一般来说,都是用libname进行数据库的操作,而帮助里面很清楚的写着libname是进行永久数据库的操作的。但是对于你的这种情况,有两种办法:
1,用libname指定一个数据库到D盘,比如 libname nectar_lib "D:/"; 然后后面都用二级文件的形式nectar_lib.xxx 来操作数据集;

很显然,你对每次都调用一个数据集都有加前缀nectar_lib不是很满意,总会觉得麻烦,要是像work那样用一级文件名表示就好了。那么这里有一个方法二,可以看看。

2,直接上代码先:
libname user "d:\sastem";
data  ex;
input  a  b c;
cards;
1  3  55
3  4  5
;
run;
运行一下,是不是发现一级文件名ex都在D盘的SAStem(你必须在D盘指定一个存在的文件夹)下,并没有在work里面,这样感觉是不是很爽。

这里必须说明的是,user是一个永久库,里面的文件并不会随SAS关闭而消失,但是你打开目录都可以看到,就一普通的文件夹,复制粘贴删除,你随便怎么操作都行。

注:如果你是个纠结的人,你又想把数据放work里面,这好办,加一个代码:libname user clear; 就可以了。
二维码

扫码加我 拉你入群

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

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

2011-8-4 08:22:19
lance0108 发表于 2011-8-4 01:59
数据不多的话,一般的都全载入内存了,也不存在I/O瓶颈。个人配电脑弄个16G内存还是没什么压力的。
数据太 ...
一个字:”便宜“。

补充一下,ssd的读性能远好于写性能。

我不推荐SSD,具体原因你可以看完整版。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群