Welcome to the blog

Hieu's Blog

Hi, I'm Trung Hieu (Elliot) Nguyen, a software engineer passionate about building scalable backend systems and exploring innovative tech solutions. On this blog, I share insights, experiences, and lessons learned from my journey in software development. Thanks for stopping by!

49 articles11 tags
Trung Hieu Nguyen

All Articles(49)

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.

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

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

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.

A deep dive into how Meta migrated UDB from InnoDB to MyRocks, cutting storage in half while tackling isolation differences, tombstones, and large-scale correctness checks.

Discover how TinyLFU improves cache efficiency by filtering out low-value items using approximate frequency tracking, optimizing both hit ratio and memory usage.

A deep dive into TAO, Facebook’s distributed data store for the social graph. Learn how it overcomes MySQL and memcache limitations with a graph-aware cache, eventual consistency, and a scalable, fault-tolerant architecture.

Explore how Facebook scaled Memcache to serve billion of requests

Discover how Cuckoo Hashing efficiently resolves hash collisions using multiple hash functions and an eviction strategy. Learn how it ensures O(1) worst-case lookups, supports deletions, and outperforms traditional collision resolution techniques in high-performance applications.

Dive into the fundamentals of Paxos, one of the most influential distributed consensus algorithms. Learn how Paxos ensures fault-tolerant decision-making in distributed systems, its key phases, challenges, and why it's the foundation for modern consensus protocols like Raft and Multi-Paxos

Discover the powerful internal data structures that make Redis a blazing-fast in-memory data store. This comprehensive guide explores how Redis uses SDS for strings, quicklists for lists, and skiplists for sorted sets, ensuring optimal performance, memory efficiency, and scalability. Perfect for developers and enthusiasts looking to deepen their understanding of Redis’s inner workings. Learn why Redis is the go-to choice for caching, real-time analytics, and more!

Roaring Bitmaps offer a dynamic and efficient way to manage large sets of integers, balancing compression, speed, and versatility. This blog delves into their unique structure, dynamic adaptation, and applications in database indexing, real-time analytics, and more.

Explore the essentials and advanced nuances of JSON Web Tokens (JWT) in our blog series "You Don't Know JWT." Learn about JWT security, implementation, and common challenges.