Adaptive Radix Tree
A practical walkthrough of radix trees and adaptive radix trees, covering node layouts, path compression, binary-comparable keys, algorithms, and synchronization techniques.
55 articles
A practical walkthrough of radix trees and adaptive radix trees, covering node layouts, path compression, binary-comparable keys, algorithms, and synchronization techniques.
How split-ordered lists build a lock-free, extensible hash table: ordering items by the bit-reversed value of their hash, using dummy nodes as stable bucket anchors, and a segmented bucket array to grow without moving items.
How Tencent built a MySQL-compatible distributed database serving 30,000 enterprises with physical replication, Raft-based consistency, lock-free internals, and horizontal scaling explained.
A write-up about Robin Hood hashing - fairness in collision resolution.
A write-up about time, clocks, and ordering in distributed systems.
How Pratt parsing uses binding power to build expression trees efficiently for expression evaluation, with a step‑by‑step Go implementation and extensions for unary minus, parentheses, exponentiation, and variables.
A write up about TiDB’s Raft-based HTAP architecture: exploring multi-Raft storage, learner replicas, DeltaTree columnar engine, MVCC transactions, read optimizations, and how TiKV and TiFlash deliver scalable, consistent, and isolated OLTP + real-time OLAP in one system.
An engineer’s walkthrough of Google Percolator: from MapReduce to incremental processing, exploring transactions, lazy lock cleanup, observers, and performance optimizations on Bigtable.
A practical deep dive into MVCC: concurrency protocols, version storage, garbage collection, and index design.
Explore how Google Spanner combines SQL, global distribution, TrueTime, and Paxos to deliver externally consistent transactions at planet scale.
SegCache is an in-memory key–value cache built for small objects, improving memory efficiency, throughput, and multi-core scalability with TTL-bucketed segments, compact hash metadata (bulk chaining), and segment-level proactive expiration plus merge-based eviction.
A clear, concise walkthrough of Google’s MapReduce, explaining how it simplified large-scale data processing while revealing its key design insights and limitations.
How DynamoDB delivers ACID at scale: timestamp ordering instead of locks, a distributed 2PC, writeless reads, buffered writes, and recovery that keeps latency predictable.
A practical tour of DynamoDB’s architecture: how it partitions data, controls throughput with GAC, balances hot spots, and keeps availability and durability high.
Understand Bigtable end-to-end: sparse data model, tablet assignment and lookup (root→metadata→user), Chubby coordination, GFS/SSTables, compactions, caching, Bloom filters, commit logs, and recovery.
Explore how Facebook’s Wormhole powers real-time data propagation at massive scale. This post breaks down its core design - flows, caravans, data-markers, and multi-datacenter failover, and explains how it achieves trillions of reliable, in-order updates daily with millisecond latency.
A practical tour of ZooKeeper’s data model, common recipes (locks, barriers, group membership), and the internals (ZAB, snapshots) that make it reliable.
Chubby explained: why a lock service (not a library), how caching/invalidations work, master failover and sessions, plus partitioning, proxies, and name-service use