频道文章 第175页

LSM树:一次写放大与Compaction风暴的救赎记录

LSM树:一次写放大与Compaction风暴的救赎记录

为什么我差点砸了键盘——LSM树的写放大之痛 去年深秋,凌晨三点,我在公司盯着监控大盘发呆。一个时序数据库的存储节点,在写入量达到120万点/秒后,磁盘I/O突然飙到100%,延迟从3ms涨到2秒。查了半天才发现,是LSM树的compact...

RocksDB:底层存储的隐形世界大战,你的云账单正在为此买单

RocksDB:底层存储的隐形世界大战,你的云账单正在为此买单

为什么是现在?一场延迟引发的血案 说实话,RocksDB这名字听起来就像个摇滚乐队。但它远比摇滚乐更搅动世界。这东西诞生在Facebook(现在叫Meta了),初衷就一个:榨干闪存的所有性能。它不是数据库,却活在无数数据库的心脏里——MyS...

来自LevelDB的告白:我被LSM-Tree偷走的那几年

来自LevelDB的告白:我被LSM-Tree偷走的那几年

说真的,第一次看LevelDB源码的时候,我差点把键盘砸了。不是因为难——好吧其实就是因为太难。那套LSM-Tree的逻辑,像极了一个偏执狂设计的俄罗斯方块:数据来了就疯狂往内存里塞,塞满了往磁盘上一倒,然后等夜深人静了再偷偷拼起来……这种...

MongoDB的野性难驯:我花了三年摸透WiredTiger的那些疯狂设计

MongoDB的野性难驯:我花了三年摸透WiredTiger的那些疯狂设计

一场半夜的P0故障,让我把MongoDB的存储层扒了个精光 那天凌晨两点,监控告警群炸了。长话短说,线上一套MongoDB分片集群,读写延迟突然飙升到20秒,CPU 100%,磁盘IO打满。我们是做内容平台的,用户上传的稿子、评论、元数据全...

NoSQL 真的比 SQL 快?底层拆解后我沉默了

NoSQL 真的比 SQL 快?底层拆解后我沉默了

B树 vs LSM:磁盘的物理极限 数据库之所以慢,根源在于磁盘。机械硬盘的寻道时间,大约10毫秒。10毫秒,CPU已经飞过几百万个时钟周期。所以,读写性能的终极瓶颈,就在于磁盘访问次数。 SQL 数据库,惯用 B树。B树像一本精心编排的字...

分区战略:别再假装地球是平的了

分区战略:别再假装地球是平的了

分区。听着像地理课的概念。但今天,它正在撕裂全球商业的旧地图——不是比喻,是真的撕。说实话,去年在深圳见一个做硬件的朋友,他摊开一张世界地图,用红笔划了三个圈:美洲、欧非、亚太。说,今后我们的货,没法跨越这些圈了。我头皮一麻。 为什么是现在...

Sharding:被误解的拆分艺术

Sharding:被误解的拆分艺术

数据库拆分的需求往往出现在一种尴尬的境况——当你发现单表行数突破亿级,索引开始肿胀,查询像在泥浆里游泳。最初你以为只是索引设计不当,直到发现连主键查找都慢得离谱。那感觉,大概就像试图在图书馆里找一本没有被索引的书。于是你考虑Sharding...

数据分片:别再堆硬件了,这才是成本断崖式下跌的命门

数据分片:别再堆硬件了,这才是成本断崖式下跌的命门

为什么是现在?供应链都崩了,你还在玩单机? 数据分片这词,听着特高冷。说白了,就是把大表拆散,扔到不同机器上。可这事突然火到发烫,为什么?——因为全球供应链都打成筛子了,你还指望一个巨型数据库能抗住?笑话。去年我不是帮一个跨境物流客户救火嘛...