0%

std::unique_ptr·

📌本文使用wolai制作,原文链接:std::unique_ptr

unique_ptr是c++11引入的智能指针之一,对所wrap的对象具有独一管理权。本文做详细分析。

分析环境: gcc 8.3.0

阅读全文 »

原文名:Efficient Compactions between Storage Tiers with PrismDB

LSM树针对冷热数据的优化。热放在3D XPoint NVM设备,冷放QLC NAND。

贡献点:

  1. 多层设计。 DRAM + NVM + flsah.
  2. Popularity scoring方式, 文中的MSC指标用作compaction选择的依据。

总结:相比 Mutant, 用MSC作为转冷的指标感觉更好。读采用了DRAM Btree和NVM加速,写用NVM slab做buffer,flash上采用sst加速。

阅读全文 »

原名: Mutant: Balancing Storage Cost and Latency in LSM-Tree Data Stores

文章目标: 提供一种无感的 cost-performance trade off 的LSM tree实现,将热数据存在fast storage,冷数据存在cold storage

效果一图以言之:

image-20241027192622796

读完感觉没有太多亮点,不过还是记个笔记。

阅读全文 »

原名: PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database

PolarFS是 PolarDB 的底层分布式文件系统。

极低延迟和高可用, 充分利用用户态网络/IO栈,激进使用新技术(现在看来都是平常的技术了),包括RDMA、NVMe和SPDK等。 写延迟接近本地SSD。

为了提高io吞吐,PolarFS还开发了ParallelRaft,打破Raft只能顺序提交的约束。

笔者注:整体来看,本篇都是一些当年的新技术的应用,如RDMA,SPKD,核心可以说是os-bypass和zero-copy等工程优化。 架构上没有什么特别的亮点。 当然开发的ParallelRaft笔者没关注,不予评价。

阅读全文 »