2024.08 blog review

2024-08-01

Storage

CXL SSD:是绝妙的蠢事,还是愚蠢的绝妙之举

链接

相比于内存扩展,更期待cxl在ssd和网卡上的落地

Database

PhatKV

一个专为文件系统元数据优化的存储引擎

详见 https://zhuanlan.zhihu.com/p/714515240

Others

SwissTable

https://abseil.io/about/design/swisstables

https://www.cnblogs.com/apocelipes/p/17562468.html

  1. 开放地址法
  2. 将数据和元数据分离,元数据部分采用SMID来 加速搜索key或者空槽位
  3. 数据量大的场景能充分发挥SMID的优势,数据量小的时候感觉 一般?

NanoLog

https://zhuanlan.zhihu.com/p/136208506 极致性能的日志库,前台写入纳秒级别,遥遥领先其他日志库

1.为每个线程创建一个单生产者队列,单消费者消费所有队列。 其中为了防止false sharing,padding了两个cache line,评论区有大佬说这是因为Intel L2 prefetch会取2个line(128字节),所以可以直接按照L2 cacheline=128B来写,不明觉厉,学到了

  1. 避免使用gettimeofday这种慢速调用,取而代之的是读取tsc寄存器的值来记录时间

  2. 避免在前台格式化日志

  3. 对静态字符串在预编译阶段就进行预处理,运行时只会写入变量 信息。后续需要解压缩才能还原成人眼可读的文本文件