NoSQL database architected for speed at scale, uninterrupted

Aerospike is designed to be the premier high speed, scalable, and reliable NoSQL database. Every line of Aerospike code, every architectural decision focuses on high performance and easy scaling and operations:   flash optimized・indexes in RAM・threaded transaction models・avoiding copies・cache-line optimization transaction and data replication・seamless auto-rebalance scaling・integrated clustering ・use of Linux・multi-threading・data isolation・storage and failover reliability. A thousand things done right.

The Problem

Millions of data points. Billions of combinations – all participating in your application’s experience for hundreds of millions of users – and you need to experiment with new features while keeping your app up and responsive.

The Solution

A Distributed NoSQL Database that elegantly delivers both speed and scale. Key-value focused operations on which to build your core application – with queries for when you need them. Optimized for Flash storage. Proven and reliable code already powers some of the largest platforms on the Internet. Open source you can trust for the long haul.

Aerospike NoSQL Database Technology

Aerospike is a distributed NoSQL database and key-value store architected for the performance needs of today’s web-scale applications; providing robustness and strong consistency with no downtime.

Client

The client libraries provide a native language interface idiomatic to each language for easier programming and higher performance. The client layer tracks cluster status in real-time, allowing minimal downtime (less than a second) when hardware or network changes result in cluster reconfiguration.

Cluster

Unlike other NoSQL databases, the clustering layer uses paxos’ distributed consensus only to to form the cluster, allowing both immediate and eventual consistency transactions. Data is distributed evenly and randomly across all nodes within the cluster, minimizing “thundering herd” issues.

Server

Aerospike’s fast path for high performance is key-value operations. Additional features include a strongly typed data model, secondary index queries, in-database computation with user defined functions, rich list and map interfaces, geographic replication, and a management console.

Storage

Aerospike’s unique storage layer incorporates both DRAM and Flash, giving in-memory characteristics at the price of SSDs. With continual data expiration, Aerospike can operate as a cache with minimal maintenance.

Aerospike Architecture

 Aerospike’s distributed Shared-Nothing NoSQL database architecture is designed and built to reliably store data with high availability.

Clients

Expose APIs for storing and retrieving data and implement a client-server protocol making them cluster aware—tracking where data is stored and when nodes are added or removed.

  • First class observer of the cluster
  • Open source libraries and packages in 10+ languages including Node.js, Java, C#, PHP, Go and more
  • Detects transaction failures and re-routes requests to nodes with copies of data
  • Pools TCP/IP connections
  • Allows for arbitrary strings, integers, blobs, and more complex things like lists, maps, and JSON structures
  • Supports Check-And-Set and Atomic operations

Cluster

The Aerospike “shared nothing” architecture is designed to reliably store data with automatic failover, replication and cross data-center synchronization.

  • Special heartbeat monitors inter-node connectivity
  • Paxos-like consensus voting process determines which nodes are considered part of the cluster when a node is added or removed
  • Distributed hash algorithm divides the primary index space into data ‘slices’ and assign owners
  • Unique random data distribution ensures equal load across all cluster nodes for predictable low latency
  • Data migration module re-distributes data when clusters are reconfigured
  • Supports immediate and eventual consistency

Storage

Aerospike can store data in DRAM, Flash (SSDs), and traditional rotating media.

  • Indexes in RAM for high performance and parallelism
  • Multiple data storage models
  • Schema-less data model
  • Built-in defragmentation
  • Integrated continual data expiration
  • Large block writes and small block reads for high performance

Queries

Provides value-based lookup through the use of bins (columns) and secondary indexes.

  • Executes on all nodes in parallel—in scatter-gather pattern
  • Supports Equality and Range filters
  • Enables aggregations through programmatic indexed-MapReduce
  • Aggregation system is implemented using User Defined Functions (UDFs) written in Lua
+ Clients

Clients

Expose APIs for storing and retrieving data and implement a client-server protocol making them cluster aware—tracking where data is stored and when nodes are added or removed.

  • First class observer of the cluster
  • Open source libraries and packages in 10+ languages including Node.js, Java, C#, PHP, Go and more
  • Detects transaction failures and re-routes requests to nodes with copies of data
  • Pools TCP/IP connections
  • Allows for arbitrary strings, integers, blobs, and more complex things like lists, maps, and JSON structures
  • Supports Check-And-Set and Atomic operations
+ Cluster

Cluster

The Aerospike “shared nothing” architecture is designed to reliably store data with automatic failover, replication and cross data-center synchronization.

  • Special heartbeat monitors inter-node connectivity
  • Paxos-like consensus voting process determines which nodes are considered part of the cluster when a node is added or removed
  • Distributed hash algorithm divides the primary index space into data ‘slices’ and assign owners
  • Unique random data distribution ensures equal load across all cluster nodes for predictable low latency
  • Data migration module re-distributes data when clusters are reconfigured
  • Supports immediate and eventual consistency
+ Storage

Storage

Aerospike can store data in DRAM, Flash (SSDs), and traditional rotating media.

  • Indexes in RAM for high performance and parallelism
  • Multiple data storage models
  • Schema-less data model
  • Built-in defragmentation
  • Integrated continual data expiration
  • Large block writes and small block reads for high performance
+ Queries

Queries

Provides value-based lookup through the use of bins (columns) and secondary indexes.

  • Executes on all nodes in parallel—in scatter-gather pattern
  • Supports Equality and Range filters
  • Enables aggregations through programmatic indexed-MapReduce
  • Aggregation system is implemented using User Defined Functions (UDFs) written in Lua