Chinaunix

标题: PCIE SSD对数据库架构的影响巨大?参与讨论得派克金笔!(获奖名单已公布-2014-6-27) [打印本页]

作者: send_linux    时间: 2014-05-05 15:14
标题: PCIE SSD对数据库架构的影响巨大?参与讨论得派克金笔!(获奖名单已公布-2014-6-27)
获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-4143760-1-1.html

PCIE SSD的使用越来越普及,容量也越来越大,在过去的DTCC2014大会上,上海宝存科技(http://www.shannon-sys.com) 甚至 发布了容量高达6.4T的PCIE SSD单卡。从淘宝双十一促销,到京东苏宁大战,PCIE SSD一直在后台默默地支持着各大电商的后台数据库。

演讲PPT下载:谈PCIe SSD在数据库性能优化中的作用

本期话题:
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://www.shannon-sys.com/direct-io-g2_zh.html)。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?

2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?

3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?

4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?

本期奖品:
优秀参与奖,派克精美钢笔签字笔礼盒一份,择优选择5-6名

活动时间:
2014年5月5日-25日



活动要求:
1、 要言之有物,不能低于20个字
2、 本次话题主要关注PCIE SSD和数据库架构的心得体会和使用技巧,其他问题可能不做重点

作者: q1208c    时间: 2014-05-05 16:02
SSD 虽然是个很快的存储, 但到目前为止, 寿命仍然是它的致命伤. 每GB成本, 也是一个容忽略的问题.

通常, SSD 都是做为cache来使用的, 用来提升整体系统的IO性能. 直接使用 SSD 做为永久存储来使用, 只能等着盘坏数据丢.

但决不要以为只要用了SSD就会快. IO性能就会有质的飞越.

SSD在设计的时候, 由于NAND的擦除寿命的原因, 为了提升整体的寿命, 都有写平衡算法. 新的SSD, 由于不需要擦除操作, 所以, 写性能较好, 随着写入量(擦除量)的增加, 写性能会越来越差. 加上系统架构并只是只有IO唯一的瓶颈, 所以, 决不是只要换了SSD就能快了.

PCIE SSD 的最大问题是 更换必須 down机.
在标准的服务器架构中, 最容易坏的有两个组件, 一个是磁盘, 一个是电源, 所以, 在企业级的服务器中, 这两样都做成 hotswap的, 而PCIE SSD 没办法做到 hotswap, 一旦出现问题, 数据全无, 且必须down维护. 所以, 使用PCIESSD 必须考虑其它的方式来处理相应的问题. 如HA或实时, 准实时同步等.



作者: InfoCore-Great    时间: 2014-05-06 11:20
本帖最后由 InfoCore-Great 于 2014-05-16 12:10 编辑
send_linux 发表于 2014-05-05 15:14
PCIE SSD的使用越来越普及,容量也越来越大,在过去的DTCC2014大会上,上海宝存科技(http://www.shannon-sy ...


终于让我看到了一个心仪的礼品。哈哈

1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?

A:最充分的做法,我目前能够想到的便是把每个应用主机的热点数据至于Flash /SSD上面。这些一线存储厂商早就明白,性能提升相对的则是成本的投入。企业数据中心假如有500TB数据,即使这些数据对应了关键业务,投入500TB的Flash /SSD成本也是相当昂贵的,还不包括今后的持续扩展,所以我们可以借助存储自动分层技术很好的权衡性能与成本,可以利用:应用主机,存储设备,或者虚拟化网关,仅仅购入3%-10% Flash /SSD,并且整合现有的HDD存储,进行“池”化,动态迁移热点数据块,访问频繁的放置在Flash /SSD,非频繁的仍然放置的HDD存储,这是一种最有效的利用我认为。

2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?

A:如果把存储资源调配和生产业务全都寄托给应用主机,我想应用主机会非常吃力、让应用主机专心的运行业务,而存储层负责存储管理/安全,这将是层次鲜明的一个IT架构。
这是一个我参观过的项目,搭建:集成商选择了一套开发式的存储虚拟化管理软件,软件安装在IBM X3850上面,成为一套虚拟化网关,这套虚拟化网关做的第一件事:把用户已有的3套存储阵列(不同品牌)进行接管,然后“池-Pooling”化,使容量利用率100%,然后购入Fusion -io 卡片2颗,安置在X3850 Pcie上面,(卡片之间由虚拟化软件做RAID 1)。
现在,存储池的总体容量等于: 3套存储+1颗Fusion-io卡片;有趣的是:在存储池创建若干个LUN给前面主机,虚拟化网关会监测每一个LUN中,热点数据的访问频率,访问频率高的数据块迁移到Fusion-io卡片上,当这个数据块逐渐冷却,会被迁移到更慢的磁盘层,比如IBM SAS存储,到EMC SATA-RAID 1存储,再到HP SATA RAID 5的存储上面。

这个架构优于Oracle Exadata地方?由于是开放式的架构,可以选择Fusion io或者任何厂商的 PCIe NAND Flash,可以Violin 闪存阵列(如果有这个预算),可以选择东芝,Intel,镁光的 SSD 磁盘,没有问题。随着需要选择性的改变架构,虚拟化网关可以和主机用过IP SAN连接,可以通过4,8,16Gb FC连接,甚至Infiniband。没有问题。只需要在那台X3850的Server与应用主机之间配置同样的HBA CARD.


3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?

安全与否是相对的,纠结100年也是如此,然后安全最高原则通过哪一条线来衡量呢?这是我看过一个朋友的博客得到的感悟。

HDD安全吗?即使实验室测试说HDD寿命是30年,按照用户现有的环境(想想北京的气候),一颗盘能跑多久?那些整天宣传SSD寿命低的媒体更多的也许都没有进过数据中心,我们要一窝蜂的导向他们吗?1批HDD磁盘从安装到第一次报修也许仅仅是8个月之间,一套阵列搬迁到另一个机架都会坏一堆盘,这些只有经常实施项目的工程师才能体会。坏“到不说是寿命到达极限,面板只要闪黄灯,那IT部门必须报修,也许那个盘还能用,还能转。
所以,我认为,比较HDD方面,SSD在安全上更有优势,尤其在苛刻环境中,更能体现这一点。更少的振动,更低的散热,较少的机械组件=较少的故障点。
遗憾的是:不能通过面板直观的看到红灯,还是绿灯,也许巡检要绕道后面,还不能支持RAID卡,因为安装在PCIe上面(所以前面提到的虚拟化网关能够提供很多好处)。

4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?

如果测试虚拟化环境,VMWARE提供了虚拟机部署的性能分析仪,这个东西很好用,是虚拟机部署的一个实例。
如果是传统应用,我会用IOMeter,这是很厉害的工具,最主要的是免费。

数据:看应用场景,文件服务器,流媒体应用看带宽,而这些SSD价值将会很小。

如果是大规模的虚拟化环境,OLTP 数据库,邮件交易,ERP,CRM,等等。有2个关键指标,我认为:IOPS数量,每秒的平均延迟。

别拿消费级的桌面SSD来讨论这个议题,完全没有意义。
这是按照最苛刻的环境测试的结果........




PS:很早就有人点化过我,Performance其实包括三个主要因素:带宽,IO每秒的交互数量,延迟。
那钢笔似乎不错哦:wink:



作者: send_linux    时间: 2014-05-06 11:41
InfoCore-Great 发表于 2014-05-06 11:20
终于让我看到了一个心仪的礼品。哈哈

1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随 ...


感谢精彩分享~
作者: 2009532140    时间: 2014-05-06 17:45
想搞一个带有SSD硬盘的笔记本,玩玩oracle 的RAC 之类的。

作者: 冬瓜头    时间: 2014-05-06 17:57
本帖最后由 冬瓜头 于 2014-05-06 17:58 编辑

我也来凑凑宝存科技的热闹:)

1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://www.shannon-sys.com/direct-io-g2_zh.html)。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?
》》》NAND Flash延迟低,那就最合适需要同步IO的场景典型的比如数据库的日志写操作,又同步,io又小,机械盘真是受不了这摧残了。最理想的解决办法是使用nvdimm来存放日志,然后刷到PCIE flash卡上,异步刷即可,用一块sata ssd和pcie flash上的日志空间做软raid1镜像来保证安全性。大部分pcie flash空间用于当做缓存,或者安全性要求不是十分苛刻的话,直接把热库放上去。

2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?
》》》看技术能力。exadata除了用flash之外,还在软件上做了优化吧,如果是开源数据库那只要你技术牛,随便整。如果是Oralce,改不了,那就只能用高规格flash了,我相信,只要有钱,都能解决。

3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?
》》》如果使用PCIE SSD来作为透明加速缓存的话,安全性不是问题。故障率方面,目前来看SSD故障率比机械盘要低不少,而且寿命可预测。没有绝对安全,都得备份,勤备份着就行。

4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?
》》》 Llinux下fio,工人的。时延、iops、同步iops+时延,异步iops@4K随机。
作者: beyondfly    时间: 2014-05-06 19:59
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://www.shannon-sys.com/direct-io-g2_zh.html)。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?

     好钢一定要用在刀刃上,PCIE-SSD这么高性能的存储设备,自然是要用在整个系统中,数据读写最频繁的机器上,数据库的数据存放目录上,其它的备份数据,则放在读写速度慢的磁盘上。
2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?
     应该是可以,把oracle的数据存放目录放到PCIE-SSD上,再大oracle相关参数的配置
3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?
      数据安全,当然是要通过这种备份机制来保证,比如RAID, 软件RAID, 开源的rsync unsion 以及各种商业的备份软件来保证,另外,SSD的寿命相对传统磁盘来说,会短得很多,这一点,要生产环境中需要注意。

4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?
     通过iozone, unixbench之类的工具都可以评测PCIE-SSD的性能,重点关注其随机读写的测试出来的数据。
作者: forgaoqiang    时间: 2014-05-06 20:16
本帖最后由 forgaoqiang 于 2014-05-07 09:33 编辑

1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://www.shannon-sys.com/direct-io-g2_zh.html)。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?

有效的做法就是数据库存储采用“全闪阵列”来取代传统的机械硬盘,如果成本过高的话,可以将经常访问使用的热点数据存放到SSD存储上,传统的历史数据等存放到传统存储上,也可以使用类似 intel快速存储技术(Intel Fast Storage)这样的技术,自动识别热点数据,采用SSD作为缓存,实现 机械硬盘->SSD 存储 -> 内存 三级缓存模式,这个应用方式不仅限于数据库存储,可以应用在所有的存储方案上。

至于Shannon的测试数据,应该是企业专用设备的结果,我个人测试家用设备,虽然IOPS比没有那么夸张,但是完全可以看出SSD具有绝对的优势,有图有真相:

这是我的金士顿SSD硬盘的随机数据读能力


这个是我的1TB的 WD 黑盘的随机数据读能力

明显的看出来,在小数据块数据读上,SSD的性能是机械硬盘的 80倍(4600IOPS 60IOPS的比例)左右。

2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?
Oracle Exadata使用了大量内存,主要解决了从存储到内存快速传输的问题,如果存储的I/O跟不上,就会成为瓶颈(bottleneck),限制整个系统的性能发挥。首先PCIE这种新的数据接口能够提供超过8Gbps的传输速率(x16),接口不会拖累传输,剩下的就是存储器本身的性能问题,SSD Flash盘性能提高多少,几乎整机性能就会提高多少。使用多台廉价的主机配合高速的存储结合Hadoop这种分布式计算框架,实现Oracle Exadata这样的整体解决方案应该不是梦。

3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?
磁盘和闪存盘几乎都是以数据量来计算的,大量的写操作对于存储寿命有着大的影响,图是我的个人计算机SSD Life得到的信息,去年安装的,读写加起来有10TB的数据了,状态应该还算是良好。寿命问题应该不是大的问题,毕竟SSD硬盘寿命都是内置计数器的,快坏的时候SMART系统应该会预警,即使更换就不会有严重的问题。另外备份仍然可以采用传统的机械硬盘甚至磁带来完成。
SSD的一大优点就是不怕震动,这个是传统硬盘不可避免的,而且SSD的功耗和很低,毕竟不需要驱动电机等物理机械结构,因此发热量也小很多,物理安全问题应该不是问题。



4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?

PCIE接口是个好东西,我测试的时候的接口是SATA的,虽然我的接口不会成为瓶颈,但是比起 PCI-E 高达 8Gbps的传输速率来说到真是差距明显,个人测试的时候我使用的工具是:
HD Tune Pro 这款工具,可以进行随机的读写操作,也可以对硬盘坏道进行个初步扫描,还是比较实用的。

测试存储关注的仍然是两大参数 IOPS和读写延时,两者联系紧密,一般IOPS就能代表整体性能,是首要关注的参数。





作者: qingduo04    时间: 2014-05-06 20:17
本帖最后由 qingduo04 于 2014-05-06 20:18 编辑

回复 3# InfoCore-Great


    哥们说的真详细,学习了,这么好的分析,奖品是你的了,嘿嘿
作者: 2009532140    时间: 2014-05-07 08:03
回复 6# 冬瓜头


    看见大师了...
作者: 2009532140    时间: 2014-05-07 09:05
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?
在利用SSD 优化数据库架构与性能之前,首先要了解一下SSD 的优缺点,做到扬长避短。
主要缺点:
①. erase-before-write 是SSD 的典型特征,造成写入性能被放大。从这个特点可以得出:连续的写入会相应的降低被放大。
②. 相对的价格要比普通磁盘的要高
③. 寿命相对短
以上因素都是导致不能将所有数据库数据都放在SSD 的主要原因。
PCIe闪存SSD卡通过读缓存写入的功能,将频繁访问的数据文件、甚至是元数据被放置在SSD中作为缓存使用。
   PS.日志文件访问频繁,但不适合,与第一点冲突。
在传统的存储上的数据库,当查询时需要读取大量数据并涉及到排序、hash、以及计算操作时,需要将部分的中间结果写回磁盘,可以说:这就是导致查询结果缓慢的原因,所以:要么提高磁盘的IOPS,要么增大内存。
显然,增加内存并不现实,一个大表的中间结果让内存完全容纳比较困难。
————————————————————————————————————————————————————————————————————————————————
2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?
这个光靠配置是配置不出来类似 “Oracle Exadata性能的架构”滴...
正如“冬瓜头”说的那样,Oracle Exadata 不光有硬件的改进,软件算法也有改变,让我们看一下<<Oracle Exadata 技术白皮书>> 中的一句话:“Exadata 是 oracle 与 HP 联合推出的产品,其中 HP 提供了其底层的存储,oracle 提供了存储智能软件并紧密集成 Exadata 存储设备与oracle数据库的特征 ”
所以,后面的问题就不用回答了..但是可以利用SSD 大幅度改进数据库的性能。
————————————————————————————————————————————————————————————————————————————————
3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?
安全只是相对的。也就是输说:无论多么的安全,也需要进行数据库备份。
————————————————————————————————————————————————————————————————————————————————
4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?
软件不少,各种软件所注重的地方也不同。
个人觉得,用下面的两个,关注一下相应的数据即可。
Atto Disk Benchmark:磁盘持续传输性能
AS SSD: IPOS
作者: 2009532140    时间: 2014-05-07 09:15
beyondfly 发表于 2014-05-06 19:59
应该是可以,把oracle的数据存放目录放到PCIE-SSD上,再大oracle相关参数的配置



这么简单的一弄,就能达到Exadata 的性能特征,那它还能那么值钱????
另外,上oracle 官网看一下  Exadata 的技术白皮书吧..

作者: zclhard    时间: 2014-05-07 09:22
beyondfly 发表于 2014-05-06 19:59
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://ww ...


SSD寿命比传统的低很多,楼主活在3-5年前吧
作者: beyondfly    时间: 2014-05-07 09:30
回复 12# 2009532140


    我说 “应该是可以”,完全是个人判断,可能存在不正确性,多谢你帮我指正。另外问一下,你是oracle公司的或是代理Exadata产品的吧?
作者: beyondfly    时间: 2014-05-07 09:32
回复 13# zclhard


    嗯,LZ有一段时间没有关注SSD的寿命问题了,刚刚又查了一下,看到很多文章都说,SSD的寿命已经提高了很多,多谢你的指正。
作者: 2009532140    时间: 2014-05-07 09:44
回复 13# zclhard


    取代HDD 基本要成为趋势了{:3_192:}
我也正想弄一个装个oracle 玩玩。
作者: zclhard    时间: 2014-05-07 09:50
beyondfly 发表于 2014-05-07 09:32
回复 13# zclhard


头像很帅。

现在很多初创企业在做企业级SSD方面的工作,特别是互联网行业的需求推动,现在的发展真的很快
作者: beyondfly    时间: 2014-05-07 10:16
回复 17# zclhard

    PCIE-SSD是不是未来的一个发展趋势呢?
作者: liujindi2014    时间: 2014-05-07 11:41
:wink:楼上等高手大师,有出现的时候!学习也不在话下!
作者: qingduo04    时间: 2014-05-07 20:46
回复 8# forgaoqiang


    如果是自己写的,这个写的太牛了! 加精
呵呵,如果是网上摘抄的,就.................
作者: forgaoqiang    时间: 2014-05-07 23:27
本帖最后由 forgaoqiang 于 2014-05-07 23:34 编辑

{:3_185:}  晕倒 俺就是原创的 俺的博文也是 只要标记 原创 就一定是自己写的 ~~

话说我测试的就是我自己的笔记本 一个64G Kingston SSD + WD 1TB 黑盘 光驱扔了  i7八核 8G内存

{:3_202:}

qingduo04 发表于 2014-05-07 20:46
回复 8# forgaoqiang


看 有图有真相滴




作者: qingduo04    时间: 2014-05-08 06:56
回复 21# forgaoqiang


    加精....................

不好意思,因为写的太牛............,拜读了.........
作者: qingduo04    时间: 2014-05-08 06:58
回复 21# forgaoqiang


    笔记本的配置相当强悍啊................
作者: openspace    时间: 2014-05-08 07:50
q1208c 发表于 2014-05-05 16:02
SSD 虽然是个很快的存储, 但到目前为止, 寿命仍然是它的致命伤. 每GB成本, 也是一个容忽略的问题.

通常, ...


学习了
作者: forgaoqiang    时间: 2014-05-08 08:54

{:3_201:}  我要说我的电脑是神船(舟) 牌的 会不会遭鄙视 。。。

SSD的确用起来相当快 OS安装在SSD内 大部分程序也在SSD内 数据放到普通的硬盘里面 win8 开机5s左右

估计固态硬盘对数据构架影响应该挺大 几十倍的提高了读写性能 ~~

qingduo04 发表于 2014-05-08 06:58
回复 21# forgaoqiang

作者: qingduo04    时间: 2014-05-08 08:59
回复 25# forgaoqiang


    呵呵,我的第一台笔记本也是神舟的,当时5K左右。


SSD存储我们这边使用HDS VSP存储的时候使用,当时购买的时候包含一部分SSD,一部分SAS盘。
我们把SSD做成了临时表空间对应的raid的,其他的SAS盘做成用户表空间对应的raid的。
上层软件是DB2数据库。
作者: mazihu    时间: 2014-05-08 09:08
forgaoqiang 发表于 2014-05-06 20:16
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://ww ...


学习了,兄弟这个环境还是在pc下的,和服务器上的还是有很大差别的
作者: forgaoqiang    时间: 2014-05-08 09:53
恩 差异是必然 当然这个也足够说明问题了  SSD速率明显高于

这是一台戴尔R610配备了128GB SSD硬盘的测试


mazihu 发表于 2014-05-08 09:08
学习了,兄弟这个环境还是在pc下的,和服务器上的还是有很大差别的

作者: 2009532140    时间: 2014-05-08 14:03
回复 2# q1208c


    虽然没有楼下的图片华丽,但内容实实在在
作者: q1208c    时间: 2014-05-08 17:21
回复 29# 2009532140

谢谢.
   
作者: wolfop    时间: 2014-05-08 18:29
本帖最后由 wolfop 于 2014-05-08 20:36 编辑

PCIE的SSD虽然能对数据库虽然有提升,但是其实也带来很多问题,如果你不在乎数据安全来说,你可以随便用,实际上问题很多
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万(详细数据请参考http://www.shannon-sys.com/direct-io-g2_zh.html)。 随机读写延迟也从毫秒级别降到微秒级别。我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?
注意一点PCIE SSD是插在数据库服务器上的那么,如果服务器宕机了,你肯定访问不了了。这对业务关键系统是很可怕的,所以基本职能用来做只读缓存。对于oracle来说,可以用来做extend SGA,但是注意,extend SGA还是缓存,如果你的fast_recover_target不变,你对底层盘阵/磁盘的写IO需求并没有变化,仍然要写磁盘,仍然可能在高IOPS写的情况下性能下降,和是否用PCIE SSD没直接关系。聊以自慰的是的确可以释放底层磁盘的IOPS read的需求。
  如果做写缓存(一般是借助第三方驱动,例如linux的b-cache之类),那么这台机器宕机了怎么办,你只能通过dataguard来保护你的DB,不好意思,那么你的应用响应时间 log file sync的性能影响主要是网络,你的SSD帮不了什么忙。当然,如果你愿意接受数据丢失,可以用最大性能模式,前提是你允许宕机切换丢数。
  即便读,也不是一个完美的解决方案,对于以随机读较多的OLTP还好,但是对于Oracle的OLAP来说,原因在于
1)如果你用做extend SGA,不要忘记数据仓库类型的工作负载是采用并行执行,而11G开始并行执行的读缺省采用direct path read,和SGA无关。除非你打算用实际用的很少的in memory parallel execution。
2)你更加需要依赖别的驱动作为块设备的读cache,这类驱动并不知道你到底在做什么读,一个0级别的数据库备份就可能让你本来应该LRU保存的对SLA有效的数据块被换出去。

2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?
如果是跑ORACLE的话,没戏,没有smart-scan之类的帮助,你永远是一个share disk架构,在OLAP上面不可能和share disk+share nothing的Exadata比。实际上在Exadata上测试过,禁用smart scan以后,OLAP的读等待事件从cell smart table scan变成cell multi block physical read以后,性能下降到原来1/3。OLTP呢,除非你能接受宕机不是0数据丢失而采用最大性能模式,否则你的log file sync永远有一个最大可用性的DG的over head
3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?
   关键在于怎么用,如果你把PCIE SSD做了写缓存或者干脆把redo/datefile放到上面,都用DG的最大可用性方式,肯定足够安全,否则,你是打算接受HA切换(不是DR切换)RPO!=0还是接受RTO长达数小时(比如你的服务器主板坏了)。退而求其次就是做只读缓存,对写密集应用帮助有限。
4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?
  不关心。

其他数据库,也有同样的问题,DB2/INFORMIX,要做到HA切换0数据丢失,要么只是只读缓存,要么就是做HADR的同步方式。
作者: goallist    时间: 2014-05-09 11:58
潜水了很久啦,我也来凑凑热闹。
楼主的问题很多人都逐条回复了,各种答案都很赞,我就不按照那个框框一一回复了。
我不是磁盘或者存储技术的研究者,只是在平时维护数据过程中用到了一些,主要说说自己的一些看法。

1.关于性能,这个没得说,的确比传统磁盘提升了很多很多。ssd可以分为sata ssd,pcie ssd,和将来的nvme ssd。其性能,吞吐量和延迟在数据库上来看都是非常赞的,具体数据去看网上各种测评吧。

2.关于成本。我是从2010年开始用intel的ssd和FusionIO的PCIe,后面也逐渐接触了其他的例如shannon,memblaze,virident等等产品。在成本上有三点要说:
    (1)总体来看nand存储的单G成本是下降的,而且下降的幅度非常大,到现在为止它的价格跟传统磁盘比已经不是数量级差距了,甚至某些超大规模的互联网企业拿到的价格低得让人无法想象。
   (2)使用了ssd之后,短期来看单台服务器价格是上升了,但是由于机器性能得到了质的飞跃,在我维护MySQL的过程中,可以合并机器,用一台ssd机器替换原来老的机器3-5台。我在我的老东家干这个事情,为老东家至少节省了30%的机器数。再考虑到机房的费用,这个成本总体来看,其实是省了钱的。
   (3)数据库在IO瓶颈的时期,对于DBA的运维要求很高,稍不注意,例如在高峰时期手动flush log。就可能导致系统故障,数据库堵死。在IO资源充足的情况下,大大降低了这个成本。
3.关于使用方法。从ssd出现,受制于成本,使用方法一变再变。
    (1)最早期,大家用sata ssd,并且倾向于用ssd+sas/sata的混合模式,用开源的flashcache解决。
    (2)随着ssd的便宜和flashcache对ssd寿命的巨大影响,大家开始直接裸用ssd
    (3)pcie出来了,用开始pcie+sas/stata+flashcache的模式。但是,这个时期,由于pcie是在太快了,底层的sas往往成为瓶颈,使pcie的性能得不到充分发挥。
    (4)最终的状态应是直接把数据库建在pcie上。

4.关于寿命
    早期的ssd的确寿命很差,再加上ssd自身的写放大,很容易就把寿命写没了。这里还有个问题是,早期的ssd本身寿命就差,当时大家还把它用在flashcache上,flashcache会把读数据转换为对ssd的写,导致寿命下降剧烈。
    如果按照现在的pcie的官方标称寿命,并且不用flashcache的情况写,如果想把它写完,还是非常困难的,我觉得根本就不用考虑。

5.展望
(1)nand存储一定会成为主流,传统的机械磁盘除了备份冷数据外,会慢慢退出。
(2)基于nand存储底层的软件架构或者系统会逐渐出来,目前很多厂商在自己做,但我觉得将来可能大家会公开接口,让所有人参与进来。
(3)由于存储的改变,会影响到目前的储存系统软件的升级,例如MySQL,redis,MongoDB等等,目前已经有一些补丁在针对ssd的优化了,这个还会加强。
(4)nand存储越来越便宜,便宜到比sas还便宜!哈哈,这个是理想,但愿梦想成真!


send_linux 发表于 2014-05-05 15:14
PCIE SSD的使用越来越普及,容量也越来越大,在过去的DTCC2014大会上,上海宝存科技(http://www.shannon-sy ...

作者: puxiangjun1982    时间: 2014-05-09 13:46
回复 6# 冬瓜头


    高人啊,刚看完一遍你的 大话存储 ,膜拜!
作者: Hongqiyaodao    时间: 2014-05-09 21:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: zclhard    时间: 2014-05-12 14:03
beyondfly 发表于 2014-05-07 10:16
回复 17# zclhard

    PCIE-SSD是不是未来的一个发展趋势呢?


这个不是趋势,而是一定了,看看现在企业级存储的新兴厂商,哪个不是搞pcie-ssd起家的
作者: zclhard    时间: 2014-05-12 14:04
2009532140 发表于 2014-05-07 09:05
1, 传统磁盘的随机读写IOPS只有一百多,PCIE SSD的随机读写IOPS高达惊人的50多万。 随机读写延迟也从毫秒级 ...

企业级的SSD测试不知道咋弄,但是楼主说的这个,应该是大多数网络上的那些消费级ssd评测或者读写速度获取的主要途径
作者: 2009532140    时间: 2014-05-12 15:50
回复 36# zclhard


    恩。
个人也就是从网上得知SSD 参数,测测看看效果。

作者: 2009532140    时间: 2014-05-12 18:46
回复 32# goallist


     使用了ssd之后,短期来看单台服务器价格是上升了,但是由于机器性能得到了质的飞跃,在我维护MySQL的过程中,可以合并机器,用一台ssd机器替换原来老的机器3-5台。我在我的老东家干这个事情,为老东家至少节省了30%的机器数。再考虑到机房的费用,这个成本总体来看,其实是省了钱的。



怎么个配置,对于mysql 在这种机器上的配制方法?
SSD 也是作为缓冲区使用的么?
作者: shang2010    时间: 2014-05-12 20:09
高大上,老实用pure ram/nosql的路过
作者: beyondfly    时间: 2014-05-12 21:52
回复 35# zclhard


    能不能举个例子,国内外具体有哪一些厂商,他们的产品主要应用于哪一些行业和企业?
作者: goallist    时间: 2014-05-13 15:38
建议直接把数据放上去,缓冲不是个好方案。

2009532140 发表于 2014-05-12 18:46
回复 32# goallist

作者: 2009532140    时间: 2014-05-13 16:16
回复 41# goallist


    日志文件呢?
日志是循环写的,对SSD 盘子是否是硬伤
作者: goallist    时间: 2014-05-13 16:20
恰恰相反,对MySQL来说,log是高性能下得瓶颈点,把log放在高速存储设备上有助于性能的提高。
回复 42# 2009532140


   
作者: 2009532140    时间: 2014-05-13 16:27
回复 43# goallist


   
学习了,有时间研究一下mysql
作者: ylky_2000    时间: 2014-05-13 17:13
没有用过ssd,有台笔记本配了ssd固态硬盘,但是不知道有什么作用。。
作者: manULinux    时间: 2014-05-14 14:10
路过,lollollol
作者: to407    时间: 2014-05-15 00:43

1, 我们应该怎么才能充分利用PCIE SSD这些出色的性能来优化我们的数据库架构和性能呢?

从ORACLE数据库的角度讲,SSD的作用无非是存储层。这就需要考虑哪些文件要同存储打交道
     1. 数据库软件,RAC, grid
  数据库软件目录通常安装在本地目录,或者共享目录。这些目录 其实并不需要ssd, 因为大多数文件没有更新的需求,运行时也不会在目录下有大量临时文件的读写。

     2. ASM
       ASM基本上已经成了ORACLE的存储标准。要玩好SSD,那么对ASM需要有了解,比如现在ASM支持用作votingdisk, ocr location, data diskgroup, ACFS for DBHome, redo/fb logs...
       像放置votingdisk的ASM盘,可以用SSD,但必须明白这边的瓶颈不只在于SSD的读写速度,有两个 一是磁盘心跳,一是网络心跳。 如果网络不给力,那么存储读写再好也于事无补。这边的SSD一是要满足大量小数据量的随机读写,也要对shared disk架构有很好的支持,这都需要很多客户长时间地验证才能做好。
       放置数据文件的盘,不必要用SSD。因为瓶颈一般不在这里。但这边如果容量比较大的话,尽量避免RAID5之类的配置。
       像redo log这些需要大量随机读的, 完全可以用SSD。但这边要注意的,一是避免传统硬盘的错误,不要大量使用相同规格的硬盘, 不要盲目使用RAID,如果是硬件级别的multipath,这种技术每个厂商都有自己的办法, 像EMC, DELL, Marvel之类的,都会同oracle合作进行大量测试,确保其解决方案同oracle db的兼容性。
       要防止重复作RAID,如硬件级别做了RAID,ASM层再做redundancy,那么性能可能没什么提升,反而会降低可靠性。 这在SSD上特别明显。
       基本上 理解ASM, 就是理解ORACLE 和SSD的解决方案大部分了。 各位有兴趣,可以google看看ASM+SSD的一些文档,也可以看看Linux上如 RHEL storage mgmt guide(Red_Hat_Enterprise_Linux-6-Storage_Administration_Guide-en-US.pdf)

     
    要充分发挥SSD的性能,还是要多看全局。
    先要看SSD同操作系统之间的联系,比如Linux上,这一款SSD产品的支持程度如何,决定了客户是否会考虑购买。那么在做产品同oracle兼容测试的时候,同样也要做os级别的兼容测试。
     SSD固然是快,但传统硬盘仍有较好的生命力,SATA+SSD混合硬盘也大行其道。 最大的原因,SSD并没有对 连续读写 有较好的提升。 那么 就需要 扬长避短,像DATAFILE之类的存储,就没有必要用SSD,如果用传统的,有较多成功案例的方案,可能对数据来说,更安全可靠了。
     还有就是要看应用环境,SSD固然不让存储本身成为短板,但其周围很可能有其他的瓶颈, 就如上面提到的放votingdisk的盘,严重依赖稳定高速的共享网络连接,如果一款SSD产品,有很好的网络解决方案集成,那无疑是加增了客户的信心。
     另外的问题,也是根本的问题,SSD比传统硬盘更快了, 但是否更安全了? 这个问题本身值得商榷,我们认为,只有经过检验的产品方案才可以称为安全。
      




2, 在PCIE SSD的帮助下,我们自己是否可以在普通服务器甚至PC上配置出类似Oracle Exadata性能的架构呢? 如果可以的话,应该怎么配置?

做不到。
理解这个问题,我们应当理解,Exadata is Oracle Engineered system. 用户就算是照搬硬件,也搭不出Exadata一样的性能的。

Exadata上面确实用了类SSD,比如某款Marvel的Flash disk 在Exadata的cell node上采用。这些产品本身没什么大的特殊,但其优势在于,方案经过了大量原厂和客户的稳定测试,是其他款产品难以替代的。 此外 Exadata专门为其flash disk 写了不少的特性。

如"write back flash cache",  我们知道以前的exadata开始用flashdisk,主要是作Smart flash cache用,原则上是认为flash disk要比其他SATA/SAS盘更快。
而这个wbfc的特性,则是将flash层级的数据读写,同网卡速度相比了,换言之,就是将瓶颈本身又从硬盘读写速度 提升到infiniband网卡传输的速度层级。
http://www.oracle.com/technetwor ... -flash-2179184.html

这些特性,第三方的SSD产品没办法应用。 换句话说,尝试自己搭建Exadata架构是没意义的,倒不如说,搭建一个可靠的RAC+SSD的环境更为合理些,有很多这样的成熟方案可以参考, 作为一款SSD产品完全可以在这些已有的方案上得到客户的验证。以得突破。






3,  使用PCIE SSD来保存我们公司的关键数据足够安全吗?

安全不依赖于具体的产品,而是要靠整体的解决方案。
我们的数据安全依靠什么? 成熟的访问控制,冗余方案,备份策略, 容灾需求。


不能本末倒置,与其这么看  不如说SSD在整体方案中能否立身。
我认为是可行的,特别是在冗余,备份这一块,

冗余可以保证多路读写的瓶颈不出在SSD这一边, 而备份的话,可以提升备份的写速度(其实如果较长的连续读写,提升效果不大)

一款SSD产品完全可以在这些方案中提出自己的意见,然后立足。





4, 通常都是使用什么工具来评测PCIE SSD? 测试PCIE SSD应该关注哪些数据?
目前来讲,也就是看看读写io, 跑跑benchmark之类。
如前面第一问提到的, 对于不同的应用场景,可能我们要关心的不同, 有些要关心随机读, 有些要关心随机写。
要做一些压力测试,看在不同的环境当中SSD io是否会受影响。
也要做兼容性测试, 这个客观地讲,就要看SSD厂商的实力。  大厂的话会有大量的兼容/最佳实践文档,兼容os, db, app之类的都会有较好地文档参考。 如果是小厂的话,可以聚焦在linux/windows平台上,针对特定客户调优,慢慢积累一些best practise,


作者: to407    时间: 2014-05-15 00:46
本帖最后由 to407 于 2014-05-15 15:13 编辑

回复 42# 2009532140


    日志的话

    高速的online  log 完全可以用ssd,
               如果使用ASM的话,注意不要重复配置冗余, 建议配置preferred read failgroup。 这种情况下小的随机读写,性能提升较大。

   如果是archivelog , 就没有这么紧的需求了, 配RAID,普通存储 读写速度快一点 一般不会有大问题, 当然如果容量特别大,就要避免使用RAID5


  
作者: to407    时间: 2014-05-15 00:52
回复 16# 2009532140


    趋势 可以有很多, 但并不一定会来。

    至少几年内,取代传统硬盘的可能性不大。 想想 我们现在连磁带都没有消灭。

    硬盘越搞越块, 对应的SSD损坏后修复的成本更高,风险更高, 同时没有大企业敢过分依赖新存储。 基本上丢数据的公司,大多都在排队关门了。

     比如oracle的客户, 他们很清醒地明白, 就像ASM,本身就是给传统硬盘写的,你用了新的SSD,没有性能提升,没有额外的可靠性保障, 就不会有什么摧枯拉朽式的变革。
   
作者: mike79    时间: 2014-05-15 13:08
to407 发表于 2014-05-15 00:43
像redo log这些需要大量随机读的

redo log是随机读的?Oracle要哭了......
作者: mazihu    时间: 2014-05-15 13:37
forgaoqiang 发表于 2014-05-08 09:53
恩 差异是必然 当然这个也足够说明问题了  SSD速率明显高于

这是一台戴尔R610配备了128GB SSD硬盘的测试 ...


不可否认,可是你没有到PCIE接口的SSD的那个速度呢,你现在用的这个都是sata接口的吧?
作者: to407    时间: 2014-05-15 15:11
回复 50# mike79


     我写错了。    redo是连续读。 早期建议是不用SSD,但有一些客户也会采用,因为读写的连续量并不大。

     undo才是 随机io
作者: chinafenghao    时间: 2014-05-15 17:21
@冬瓜头@send_linux 大神难得参加活动,茂哥应该给与鼓励哈.lollol
作者: heritrix    时间: 2014-05-15 21:03
看看大神们怎么说,学习一下
作者: 2009532140    时间: 2014-05-16 12:45
回复 47# to407


   
ASM基本上已经成了ORACLE的存储标准。.

这话说的有点满...


作者: 2009532140    时间: 2014-05-16 12:48
做不到。
理解这个问题,我们应当理解,Exadata is Oracle Engineered system. 用户就算是照搬硬件,也搭不出Exadata一样的性能的。
回复 47# to407


这点支持。
应该说基本做不到。
至少软件层次上的很难做到

否则光靠硬件是卖不出那个价格的

   
作者: to407    时间: 2014-05-16 22:35
回复 56# 2009532140


    是的,软件层面很难做到。 而且就算是硬件级别, 类似的型号也替代不了原配的硬件, 很大程度上,是因为只有特定型号的硬件得到了充分的测试。 客户选Exadata只会用原件。

    其实可以换个角度, 可以考虑Exadata的扩展, 目前有很多厂商为Exadata提供 存储扩展, 备份服务, 这是SSD厂商的一个很好的 盈利点。
作者: to407    时间: 2014-05-16 22:36
回复 55# 2009532140


    oracle 11.2是五年前的版本。 你可以举个例子现在 像样的客户用oracle不用ASM的么。
作者: 2009532140    时间: 2014-05-17 12:05
回复 58# to407


    南车,南网,各种烟草......
作者: to407    时间: 2014-05-17 18:02
回复 59# 2009532140

Oracle 11gR2+ 版本 ?如果说是10g的话 也没什么好讲的
   
作者: wolfop    时间: 2014-05-20 15:27
回复 60# to407

真笨,人家给symantec销售搞定了,就算11GR2,也要死活用一个要钱的CFS。
   
作者: to407    时间: 2014-05-20 21:36
回复 61# wolfop


    这么说的话,我没意见了。。
作者: 冬瓜头    时间: 2014-05-21 09:12
NAND是个过渡产品,将来产品读、写是一致的
作者: forgaoqiang    时间: 2014-05-25 13:10
恩 的确是道出了缘由吧
to407 发表于 2014-05-20 21:36
回复 61# wolfop

作者: forgaoqiang    时间: 2014-05-25 13:12
恩 是的 的确是SATA的接口 但是我个人还是认为对于固态硬盘来说 接口虽然有些影响 但是瓶颈并不在接口上 而是固态硬盘本身的写能力是瓶颈

mazihu 发表于 2014-05-15 13:37
不可否认,可是你没有到PCIE接口的SSD的那个速度呢,你现在用的这个都是sata接口的吧?

作者: 疯也枉然    时间: 2014-05-27 16:49
SSD技术好像最近又有新的突破了吧
作者: 2009532140    时间: 2014-05-28 09:57
回复 1# send_linux


    演讲PPT下载:谈PCIe SSD在数据库性能优化中的作用
应该是个综合性的实验结果
作者: phanx    时间: 2014-05-28 17:22
回复 31# wolfop


    可以看看Symantec的 FSS  的方案,利用  PCIe SSD + Infiniband 做的Non-shared disk的RAC,这样数据就存在两个机器里面了,挂掉一个,还有一个,这样数据可以放在PCIe SSD里面了。

http://www.symantec.com/content/ ... ing-ds-21327034.pdf
作者: zclhard    时间: 2014-06-04 10:54
beyondfly 发表于 2014-05-12 21:52
回复 35# zclhard


我帮你看看,上次在zdnet的新闻有看到过的
作者: shaken    时间: 2015-07-14 07:59
菜鸟,如果ssd只是用来当cache的话,它的性价比和现在的内存比较还要高吗?随着内存越来越便宜,觉得ssd不应该是当cache来用的吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2