Leveraging Scala And Akka To Build A Distributed Time-series Database
summary
NSDB is a Scala time-series DB built on Akka: it uses natural time sharding with configurable shard intervals and Lucene-backed shards, routes writes through an actor hierarchy (accumulator → performer) and exposes gRPC/HTTP/WebSocket APIs plus Flink and Kafka connectors. A multimaster peer-to-peer cluster replicates data with configurable consistent vs eventual replicas (writes sync to consistent replicas, async to eventual), uses a custom commit log, an unbounded control mailbox for publish latency, and a Saga pattern for distributed write coordination; single-node throughput reaches millions of records and the project is Apache‑2 on GitHub.
AI-written summary · about
chapters (31)
- 0:00Introduction and overview
- 1:08Talk structure and agenda
- 2:11Why NSDB was developed
- 3:13Time-series data model explained
- 5:00Consistency model in NSDB
- 6:50NSDB in CQRS architecture
- 7:34Natural time sharding
- 9:03Write operations in NSDB
- 10:08APIs and connectors
- 11:34Publish-subscribe mechanism
- 12:16Single node design overview
- 13:20Akka actors fundamentals
- 14:23NSDB tech stack
- 15:05Storage layer with Lucene
- 16:10SQL-like query support
- 17:33Actor hierarchy in NSDB
- 19:22Write flow in single node
- 20:02Read flow in single node
- 21:31Data streaming flow
- 23:20Akka Cluster overview
- 25:03Akka Distributed Data
- 26:53Akka Distributed PubSub
- 27:36Distributed architecture
- 30:05Replication strategies
- 32:41Write to replicas process
- 33:45Read from replicas process
- 35:32Distributed transactions
- 36:13Saga pattern for rollback
- 37:59Roadmap and future features
- 38:43Open source and licensing
- 39:30Q&A session
related talks
40mBuilding a High-Performance Database with Scala, Akka, and Spark
36mScale By The Bay 2018 Unconference: Rob Norris
33mScaling Financial Automation on TypeBus
43mBuild a Modern, End-to-End, Big Data Scala Reference Application
44mWriting a Database in Scala.js
44mBuilding event-driven microservices with Scala and Functional Domain Models
22mAdvanced Akka features
42mBuilding a Company on Scala
