NSDB (Natural Series DB) – A time series streaming oriented database optimized for the serving layer

Nowadays the Kappa Architecture is surely one of the best architectural pattern to implement a streaming system. While the choice for the log / journal side is usually straightforward thanks to engines like Apache Kafka, DistributedLog and Pravega, perfectly fitting the write side of this architecture, we didn’t find an open source counterpart able to fully satisfy all the requirements we believe are essential for a time series database such as: high availability, partition tolerance, optimized time series management, security, out of the box Apache Flink integration, ad-hoc front-end streaming features based on WebSocket protocol and natural real-time Analytics readiness. For this reason we took the decision to start the development of NSDB (Natural Series DB). During this talk we will introduce the main concepts behind the ideation of NSDB focusing on our starting goals and its architecture giving an overview of its first draft implementation. We will eventually provide an explanation on how it leverages Akka cluster and how it partitions data on a time basis.