Distributed Architecture

On this page

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.

In this section

Last modified: July 29, 2024

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK