RocksDB
-
Redis HyperLogLog 实战指南:在 Flink/Spark 中实现海量数据实时基数统计与状态管理
在处理海量实时数据流时,精确计算独立访客数(UV)、不同商品被点击次数等基数(Cardinality)指标往往是性能瓶颈。传统的 COUNT(DISTINCT column) 或 Set 数据结构在数据量巨大时会消耗惊人的内存和计算资...
-
Redis Stream 对比 Kafka 实现延迟队列 哪个更胜一筹
在需要处理“过一段时间再做某事”的场景下,延迟队列就派上用场了。比如,订单创建后30分钟未支付自动取消,或者用户预约提醒等等。技术选型时,Redis 和 Kafka 作为常见的消息处理组件,经常被纳入考虑范围。那么,使用 Redis St...
-
为什么在极限性能场景下,SPDK 依然比 io_uring 快?
在当今的存储性能压测中,如果你把一块企业级 PCIe Gen4/Gen5 NVMe SSD 的性能推向极限,通常会发现一个现象:尽管 Linux 的 io_uring 已经将内核异步 I/O 的性能提升到了前所未有的高度,但在单核 I...
-
动辄百倍写放大?共识协议元数据在 LSM-Tree 中的压缩策略演进
在分布式数据库与一致性协同系统中,基于 Paxos 或 Raft 协议的共识机制是保障数据强一致性的基石。然而,作为状态机驱动的核心,共识协议自身的元数据(如 Raft Log、Current Term、VotedFor、Commit I...
-
RocksDB 面对大 KV 高频写入直接拉胯?聊聊 Titan KV 分离架构的深水区避坑指南
在传统的 LSM-Tree 架构中,RocksDB 是应对高并发写入的利器。然而,一旦业务场景中出现了 1MB 以上的大 Key-Value(LKV) ,且伴随着 高频写入 ,RocksDB 的写放大(Write Amplificati...
-
深入 RocksDB/Titan:如何优雅地针对特定 CF 禁用与启用 KV 分离?(附动态切换避坑指南)
在海量 KV 存储场景中,RocksDB 的写放大(Write Amplification)一直是架构师的心头大患。为此,PingCAP 开发了 Titan 作为 RocksDB 的 KV 分离插件,通过将大 Value 写入独立的 Bl...
-
TiKV Titan 存储引擎应对 SSD 硬件空洞与文件系统碎片的深层优化实践
在 TiDB/TiKV 的大规模生产实践中,为了应对大 Value 带来的写放大问题,我们通常会开启 Titan 存储引擎。Titan 通过 KV 分离 (Key-Value Separation)将大 Value 从 LSM-tree...