{"repo":"aalhour/beachdb","free":true,"listed":false,"github":"https://github.com/aalhour/beachdb","clone":"git clone https://github.com/aalhour/beachdb.git","description":"🏖️ A Raft-distributed NoSQL database and storage engine in pure Go.","language":"Go","stars":27,"topics":["database","distributed","go","golang","nosql","raft","storage-engine","lsm-tree"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"BeachDB is a toy distributed NoSQL database. Built for learning and education, not production. It starts life as a small, inspectable storage engine, then deliberately grows “real-system bones”: a server API, a failure model, and a Raft-replicated core. The point isn’t to win benchmarks — it’s to understand, measure, and explain what’s actually happening. Backstory I’ve been fond of distributed systems and databases for a long time. I wrote my first Hadoop and Apache Spark pipeline back in 2016, then went on to solve hairy stream-processing problems at Shopify, and later worked on Apache HBase at HubSpot where I helped build and operate database infrastructure on top of Kubernetes at massive scale. BeachDB is my attempt to re-learn the fundamentals by building them from scratch in Go. I’m prioritizing simplicity, clarity, and understanding over scalability, speed, and micro-optimizations. Architecture - LSM storage engine (WAL → memtable → SSTables → compaction) - Single-node API (server wrapper for Get/Put/Delete/Scan with timeouts + backpressure) - Distributed replication with Raft (single group: leader writes + leader reads; log entry == WriteBatch ) - Inspectability-first (dump tools + crash tests as part of the architecture) Key features (shipped as a checklist) This list is ordered to match the build + blog sequence. I’ll tick these off as they land. Engine (storage truth) - [x] Scope + semantics contract (snapshots, iterators, durability), see: intro blog post - [x] WA","default_branch":null,"files":null,"tree":[],"storefront":"/r/aalhour","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aalhour/beachdb/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}