SingleStore DB

Design Principles

SingleStore distributed architecture is designed to be straightforward, simple, and fast. The architecture is designed around a few key principles:

Principle

Description

Performance first

SingleStore is designed to enable high throughput on concurrent workloads, and is a highly scalable distributed system. The cluster can be scaled out at any time to provide increased storage capacity and processing power. SingleStore can process billions of rows per second on clusters of commodity hardware.

Separate the cluster into two tiers (aggregators and leaves) and push as much work as possible to the leaves.

This enables you to scale cluster capacity and query performance online by adding additional leaf nodes to a cluster. SingleStore cluster operations are dynamic - you will never have to restart any aggregator or leaf nodes while managing the cluster.

No single point of failure

By running the cluster with redundancy, you ensure that every partition of data is backed up to a hot standby. In the event of any leaf node failure, SingleStore will automatically fail over replica partitions. The aggregator tier is also resilient to failure.

Powerful but simple cluster management

The distributed system exposes REBALANCE PARTITIONS, which lets you scale up and down the cluster, restore data in the event of failure, and recreate the cluster from scratch in the event of a complete system failure.

No implicit data movement

In the event of a failure, SingleStore promotes just enough replica partitions to put the cluster back online. SingleStore will never rebalance or move data around implicitly.

The other Distributed Architecture topics explain the high-level concepts behind how SingleStore accomplishes these goals.