White Paper: Aerospike – Architecture of a Real-Time Operational DBMS
Years ago, Aerospike’s engineering team set out to build a distributed database system that handles demanding real-time workloads smoothly and provides a high level of fault tolerance. This white paper describes the solutions developed by the team to address the key technical challenges encountered during this process. Specifically, it describes schemes to (a) enable efficient clustering and data partitioning to automatically scale out processing across multiple nodes and (b) optimize the usage of CPUs, DRAM, SSDs, and networks to efficiently scale up performance on one node. The techniques described in the paper were used to create Aerospike, a high-performance, distributed database system built to handle the needs of today’s interactive online services.
An important lesson learned from the white paper is that scaling up on individual nodes of a distributed database is as important as scaling out across multiple nodes. In fact, DBMS clusters that use powerful nodes with SSDs allow applications to scale to Internet levels on much smaller cluster sizes. This, in turn, helps enterprises using Aerospike to affordably deploy world-class real-time decision systems as sophisticated as the ones that, until recently, were only available to large Internet companies