Post Detail

OceanBase和SSD的故事

Hugiss  

SSD擅长随机读而不擅长随机写。所以MySQL提速不是换SSD那么简单

传统的数据库需要对硬盘进行大量的随机读和随机写,SSD擅长随机读而不擅长随机写,大量随机导致写入放大严重影响性能,同时影响SSD寿命,当前最新的“读写型”SSD则以增加成本和降低容量为代价。

OceanBase采取了数据库的基线数据在硬盘(特别是SSD)、增量数据(增删改数据)在内存(辅以事务日志写盘)的模式,消除了硬盘的随机写,提升了性能。例如即使数据库一天10亿笔写事务,每笔1KB,总容量也不过1TB,分配到10台机器上,单机100GB,这个容量单机内存完全能够支撑。

每天OceanBase的三个机群(zone)轮流地把内存数据批量整合到硬盘(称为每日“轮转合并”),正在整合的机群不对外提供服务(但接收事务日志并且参与Paxos投票),消除了每日合并对业务的影响。

这个方案使得OceanBase得以使用比“读写型”SSD性价比高得多的“读密集型”SSD,降低了成本,却没有影响性能。每日合并批量写盘也对SSD十分友好,降低了SSD的故障率。

作者:正祥
链接:https://www.zhihu.com/question/52039700/answer/132532704
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Show Disqus Comments