Writing

55 articles

18 of 55 articles
Trung Hieu Nguyen
24 mins read

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.

Backend
Trung Hieu Nguyen
19 mins read

Split-Ordered Lists: Lock-Free Extensible Hash Tables

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.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
21 mins read

TDSQL: Tencent Distributed Database System

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.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
19 mins read

Understanding Pratt Parsing: Top‑Down Operator Precedence

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.

Backend
Trung Hieu Nguyen
16 mins read

TiDB: A Raft-based HTAP Database

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.

Distributed SystemPaper Notes
Trung Hieu Nguyen
17 mins read

Multi-version Concurrent Control

A practical deep dive into MVCC: concurrency protocols, version storage, garbage collection, and index design.

BackendPaper Notes
Trung Hieu Nguyen
21 mins read

SegCache: A memory-efficient and scalable in-memory key-value cache for small objects

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.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
17 mins read

Distributed Transaction At Scale In Amazon DynamoDB

How DynamoDB delivers ACID at scale: timestamp ordering instead of locks, a distributed 2PC, writeless reads, buffered writes, and recovery that keeps latency predictable.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
16 mins read

Google Bigtable: A Distributed Storage System for Structured Data

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.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
13 mins read

Wormhole: Reliable Pub-Sub to support Geo-replicated Internet Services

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.

BackendDistributed SystemPaper Notes
Trung Hieu Nguyen
20 mins read

Introduction To ZooKeeper

A practical tour of ZooKeeper’s data model, common recipes (locks, barriers, group membership), and the internals (ZAB, snapshots) that make it reliable.

BackendDistributed System
Trung Hieu Nguyen
24 mins read

Chubby: Lock Service For Loosely-Coupled Distributed Systems

Chubby explained: why a lock service (not a library), how caching/invalidations work, master failover and sessions, plus partitioning, proxies, and name-service use

BackendDistributed SystemPaper Notes
18 of 55 articles