完整引擎 + Rust 重写对比
组装完整 LSM-Tree 存储引擎:DB 接口(Open/Put/Get/Delete/Iterator/Snapshot)、单写多读并发控制、启动恢复,然后用 Rust 重写核心模块,记录 5 个编译器不让我过的故事,最后三方 benchmark 对比。从零写一个 LSM-Tree 存储引擎系列第 5 篇。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
组装完整 LSM-Tree 存储引擎:DB 接口(Open/Put/Get/Delete/Iterator/Snapshot)、单写多读并发控制、启动恢复,然后用 Rust 重写核心模块,记录 5 个编译器不让我过的故事,最后三方 benchmark 对比。从零写一个 LSM-Tree 存储引擎系列第 5 篇。
从零实现 LSM-Tree Compaction:最小堆多路归并迭代器、Level 分层与 Compaction 打分、Tombstone 下推、Version/VersionEdit/MANIFEST 版本管理,以及 Leveled/Size-Tiered/Universal 三种策略的量化对比。从零写一个 LSM-Tree 存储引擎系列第 4 篇。
从零实现 SSTable 和 Bloom Filter:Data Block 前缀压缩与 restart 二分查找、Bloom Filter 双重哈希把误判率压到约 1%、SSTable Builder 和 Reader 的完整 C 代码。从零写一个 LSM-Tree 存储引擎系列第 3 篇。
从零实现 WAL 和 MemTable:WAL 的 record 格式与 32KB Block 对齐、跳表的 O(log n) 插入与查找、InternalKey 编码、崩溃恢复的正确性证明。从零写一个 LSM-Tree 存储引擎系列第 2 篇。
从零理解 LSM-Tree 存储引擎的设计哲学:B-Tree 与 LSM-Tree 的本质差异,写放大/读放大/空间放大的三角权衡,以及 WAL、MemTable、SSTable、Compaction、Bloom Filter 各组件的角色与协作关系。从零写一个 LSM-Tree 存储引擎系列第 1 篇。
从零开始实现一个基于有限状态机(FSM)的 JSON 解析器。不依赖第三方库,深入理解词法分析与语法分析的核心思想。
深入探讨正则表达式的回溯机制导致的性能问题,详解 ReDOS 攻击原理与防御策略,并分享生产环境中的真实排查案例。
从量子比特和量子门的基础概念出发,通过 Deutsch 问题实例,手把手教你构建第一个完整的量子算法,理解叠加、纠缠和干涉如何协同工作实现量子优势。
深入浅出介绍量子计算的三大核心支柱:量子比特、叠加态和纠缠态,探讨量子计算机如何利用这些奇特性质解决特定问题,以及 Grover 算法如何实现量子搜索加速。
全面介绍 JSON 数据格式的历史演进、优缺点与竞争者对比(XML、YAML、Protobuf、MessagePack、TOML、BSON),深入展示 json-gen-c 代码生成工具在 C 语言中的实战应用。
一份面向线上事故的事件驱动代码排障手册:从症状收敛、strace/eBPF/perf 逐层下钻,到 OpenTelemetry 集成与 Sanitizer 离线复盘。
系统梳理 io_uring 的线程安全模型与四种主流多线程架构模式(Thread-per-Ring、Shared Ring、Submit/Reap 分离、SQPOLL),包含完整的多线程 Echo Server 实战、NUMA 优化、性能对比与生产避坑指南。
在传统的用户名 + 密码登录系统中,服务器通常要么直接保存口令派生值(如 salt + hash(password)),要么依赖 TLS+密码的组合来实现认证。一旦服务器数据库被攻破,攻击者就可以对这些口令派生值做离线暴力破解,且整个系统的安全性高度依赖 TLS 与密码派生方案的组合是否正确实现。OPAQUE(The…
在现代隐私保护协议中,我们经常遇到这样一个需求:客户端拥有一个输入 $x$,服务器拥有一个密钥 $k$,双方希望计算 $y F(k, x)$,但有两个严格的隐私限制: 1. 服务器不能知道客户端的输入 $x$,也不能知道计算结果 $y$。 2. 客户端不能知道服务器的密钥 $k$。
深入解析 Shor 算法:如何利用量子傅里叶变换 (QFT) 和周期查找将大整数分解的时间复杂度从指数级降低到多项式级,从而破解 RSA 加密。