Distributed Java Databases Under the Hood
summary
Builds a tiny distributed in‑memory Java key‑value cache with a ConcurrentHashMap storage, plain Java sockets for client/server comms, and etcd for topology discovery. Clients use a mapper to route keys; initial modulo hashing breaks when nodes are added, producing null reads. Fixes include fixed 10‑partition layout, a rebalance protocol that moves partitions, and rendezvous (highest‑hash) hashing to minimize data movement during scale‑out. Code is runnable and available on GitHub for experimentation.
AI-written summary · about
chapters (11)
- 0:00Start
- 6:40GridGain
- 10:15Requirements
- 14:03Data Storage and API
- 26:35Scalability
- 36:21Request Routing
- 38:29Basic Hashing
- 46:40Data Rebalancing
- 49:16Data Partitioning
- 55:38Sample Data Distribution
- 59:46Rendezvous Hashing
related talks
41mDistributed Java DBs Under the Hood: Main Components and Interactions Between Them
30mDistributed Computing with Hazelcast
59mDistributed applications using Hazelcast
45mEasy Scaling with Open Source Data Structures
43mCaching and Beyond - Smarter Data Processing with Java
44mBoosting your applications with distributed caches/datagrids
32mJava's Ignored Potential: Supercharge Database Apps with Java In-Memory Process
29mMapDB - taking Java collections to the next level
