Implementing a database in Haskell
summary
A Haskell toy event store called LambdaDB is presented: an append-only, event-sourced NoSQL with write-only append and reads by stream. It uses protobuf v2 for message payloads, cereal and GHC generics for serialization, a 19-byte network frame header plus an 18-byte correlation id on port 1113 with 200 ms heartbeats, keeps its index in RAM and uses STM transactions to atomically update index and journal but remains experimental and can lose data on failure.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:28Who am I?
- 7:31Introduction to the Lambda type
- 9:44Parsing settings in CLI
- 28:26Client/Server exchange
- 29:29LDE connection manager
- 38:31Journal definition
- 41:02In-memory Journal
- 43:26Indexing
- 44:33Executing the write
related talks
29mThe Design and Evolution of Event-Driven Databases
51mImmutable data stores and CORS for safety, flexibility and profit
39mModern Event-driven Architecture: Adopting Data in Motion
44mPolyglot Data
45mActually Using Haskell!
27m"Write Once Stream Everywhere: Transforming Your Data into Events"
29mModern Database Architecture: From SQL to NoSQL & Distributed SQL
47mEvent-driven Serverless Architecture with DynamoDB
