Outdated Version

You are viewing an older version of this section. View current production version.

Design Principles

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

Principle Description
Performance first SingleStore DB 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 DB 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 leaves to a cluster. cluster operations are dynamic - you will never have to restart any aggregators or leaves 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 failure, SingleStore DB 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 DB promotes just enough replica partitions to put the cluster back online. SingleStore DB will never rebalance or move data around implicitly.

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