大话ssd(淘宝核心系统数据库组 褚霸)
DESCRIPTION
介绍SSDTRANSCRIPT
![Page 2: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/2.jpg)
Agenda
初见相识相知
相爱
![Page 3: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/3.jpg)
存储设备 IOPS演变史
设备 IOPS 接口7200 RPM SATA drives ~90 IOPS SATA II
15k RPM SCSI drives ~180 IOPS SAS
Intel X25-M G2 (MLC) ~8,600 IOPS SATA II
ioDrive, a PCI-Express card with Flash
with Flash 140,000 Read IOPS, 135,000 Write IOPS
PCIe
Fusion-io ioDrive Octal 1,180,000+ Random Read/Write IOPS
PCIe
![Page 4: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/4.jpg)
存储设备价格对照
设备 价格 /每 GB
SATA 7200转 0.1 USD
SAS 10000转 0.4 USD
Intel X25-M 160G * USD
FusionIO iodrive MLC 320G * USD
Virident tachion SLC 400G * USD
![Page 5: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/5.jpg)
淘宝使用案例
• CDN • IC库 • TC主库• TC 读库• Oceanbase• Vstore• 图像搜索• Tair• ...
![Page 6: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/6.jpg)
Agenda
初见相识相知相爱
![Page 7: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/7.jpg)
PCI-E/SATA接口
![Page 8: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/8.jpg)
Intel X25-M/SATA
![Page 9: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/9.jpg)
FusionIO iodrive/PCI-E
![Page 10: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/10.jpg)
Virident tachion/PCI-E
![Page 11: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/11.jpg)
SSD写入如何发生的呢?
![Page 12: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/12.jpg)
背景知识 1:Nand芯片擦写次数
Generation SLC MLC eMLC
2x 100,000 2,500
3x 100,000 5,000 35,000
5x 100,000 10,000
![Page 13: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/13.jpg)
背景知识 2:写放大倍数
写放大倍数的定义: SSD物理写字节数 /应用逻辑写字节数 放大倍数越大,说明:• 设备不够好• 我们没用好• 寿命杀手
![Page 14: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/14.jpg)
Intel X25/M Nand内部布局
![Page 15: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/15.jpg)
数据如何写入 SSD(1)
![Page 16: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/16.jpg)
数据如何写入 SSD(2)
![Page 17: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/17.jpg)
数据如何写入 SSD(3)
![Page 18: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/18.jpg)
数据如何写入 SSD(4)
![Page 19: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/19.jpg)
垃圾收集导致 IO性能下降
![Page 20: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/20.jpg)
Agenda
初见相识相知相爱
![Page 21: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/21.jpg)
适用环境
• 对 IOPS要求高,离散读多。• 离散写多。• 需要低延迟。• 作为后备内存。• 作为 L2 Cache 。
![Page 22: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/22.jpg)
对程序员的影响
• SSD=/=磁盘,传统软件基于机械硬盘设计。• IOPS不再是问题,如果利用好是问题。• 离散读写非常快( 3个数量级),顺序读写没优势。• 读写延迟时间小。• 读不消耗寿命,写消耗,越小的数据写越不合算。• 同一个位置写,由于均衡算法的存在,不会磨损芯片的同一位置。
• 尽量合并写。
![Page 23: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/23.jpg)
对程序员的影响(续)
• SSD IO吞吐量 1.XG/s , 内存是 4-6G/s, 可看作是更大的内存?
• MMAP做后备内存,和 jemalloc这样的内存分配器配合。• 异步 IO, 保证 IO请求队列深度。• 对 SSD的特性进行算法优化。• fsync能力是数据类应用天花板。
![Page 24: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/24.jpg)
使用 SSD通常要考虑的问题
![Page 25: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/25.jpg)
Agenda
初见相识相知播种
![Page 26: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/26.jpg)
选择
• 多线程和 IOPS• 文件系统的选择• IO块大小• SLC还是MLC• 写放大倍数• 数据安全性• 驱动对应用的影响• 抖动 /延迟• L2 Cache 方案
![Page 27: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/27.jpg)
离散读性能 /线程数目
![Page 28: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/28.jpg)
离散写性能 /线程数目
![Page 29: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/29.jpg)
文件系统的影响
![Page 30: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/30.jpg)
IO块大小的影响
![Page 31: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/31.jpg)
Nand: MLC还是 SLC
![Page 32: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/32.jpg)
写放大倍数和寿命
数据库典型的应用 :Intel X25-M: 5-8倍FusionIO iodrive: 2-3倍 可以透过 ssd设备提供的监控程序(如 smartctl)来获取这些
参数 .寿命:Intel X25-M: 200TFusionIo iodrive 320G: 4P
![Page 33: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/33.jpg)
数据安全性
数据校验 : • ECC校验• Raid冗余• Intel X25-M支持硬件 raid卡, FusionIO 只能做软 raid
掉电保护:
• 大电容保护• 日志系统
数据恢复时间:
• FusionIO最多 10分钟左右(内部日志系统)
![Page 34: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/34.jpg)
驱动对应用的影响
Sata接口:标准 Linux驱动,驱动开销很小
PCI-E接口:每个厂家驱动不同,对 CPU和内存的消耗可能会 非常大。 FusionIO在峰值的时候可能会占用 1-2G 内存, 最多
1x0%CPU , Virident由于板载处理器 CPU消耗比较小。
中断开销:• 中断多的时候是否可以考虑均衡
![Page 35: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/35.jpg)
抖动和延迟
由于数据整理的不可避免性,抖动也是不可避免的。 Intel : 脏块回收做的不是很好,在使用过程中,数据写入多的情况下抖动会很厉害。 FusionIO : 相对好些,但是也会有轻微抖动。可以通过加大 reserve容量 (通常默认 20%)来大大缓解这个问题。延迟时间可能会达到 1ms.
![Page 36: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/36.jpg)
SSD作为 L2Cache方案
好处:• 低成本,高性能• 对应用透明
可选方案:• Facebook FlashCache• FusionIO DirectCache• 文件系统
存在问题:• 性能损失• 单点故障• 数据热点问题
![Page 37: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/37.jpg)
Agenda
初见相识相知相爱
![Page 38: 大话Ssd(淘宝核心系统数据库组 褚霸)](https://reader031.vdocuments.pub/reader031/viewer/2022012303/559dfdbf1a28ab5b098b471d/html5/thumbnails/38.jpg)
交流时间
谢谢大家!
SSD未来会很快普及,我们做好相爱的准备了吗?