Skip to main content

Glossary

The Aerospike schemaless data model gives application designers maximum flexibility. Aerospike uses the following terms to differentiate it from the relational database (RDBMS) world. In our documentation, we introduce Aerospike concepts with their corresponding common RDBMS terms.

TermDefinition
asdThis Aerospike database process runs on a server or node.
binIn the Aerospike database, each record (similar to a row in a relational database) stores data using one or more bins (like columns in a relational database). The major difference between bins and RDBMS columns is that you don't need to define a schema. Each record can have multiple bins. Bins accept these data types (which are also referred to as "particles" in documentation and messages about bins):
  • Boolean (as of version 5.6)
  • Bytes
  • Double
  • Geospatial
  • HyperLogLog
  • Integer
  • List
  • Maps
  • String
For information about these data types and how bins support them, see "Scalar Data Types".

Although the bin for a given record or object must be typed, bins in different rows do not have to be the same type. There are some internal performance optimizations for single-bin namespaces.
clientA library included by the user's application, which provides an API that allow's the application to perform operations against the Aerospike database cluster. In our documentation, client, API, and application are used interchangeably. The client is written in a language such as Java, C, C#, Go, Python, Node.js, Ruby, Rust and others
clusterAerospike is a distributed database, made up of a collection of one or more database nodes, a cluster. The cluster acts together to distribute and replicate both data and traffic. Client applications use Aerospike APIs to interact with the cluster, rather than with individual nodes. This means that the application does not need to know cluster configuration. Data in the cluster is evenly distributed to ensure an even resource consumption on the nodes. As you add or remove nodes from the cluster, it dynamically adjusts without needing any application code or configuration changes.
digestThe unique object identifier for a single record, digests are a hash of the record's set and userKey. Record keys are hashed using the RIPEMD-160 algorithm, which takes a key of any length and always returns a 20-byte digest. By default the record saves the digest but not the key, which saves storage for long keys. For example, using only the digest for a 200-byte key improves wire performance and storage by saving 180 bytes.
KeyA key uniquely identifies a single record in the namespace, similar to how a primary key in an RDBMS identifies a single record in a table. The key is the distinct (set, userKey) pair in a specified namespace. The userKey data type can be a string, integer or bytes (blob). For example in a namespace `user_profiles`, a specific user record can be identified by the key `(eu-users, 'foo@gmail.com')`.
migrationWhen nodes are added or removed from a database cluster, data migrates between the remaining nodes. Once migrations are complete, the data in the new cluster is once more evenly distributed.
namespaceAerospike database clusters contain one or more namespaces, similar to a tablespace in an RDBMS. Namespaces segregate data with different storage requirements. For example, some data may have high performance/low storage requirements more suitable for RAM, while other data can be stored on SSD storage. The Aerospike schemaless data model allows you to mix data types within a namespace. You can store data on users and URLs in the same namespace, and separate them using sets.
nodeAn Aerospike database cluster is made of one or more nodes. These are the individual servers that act together as a distributed database to fulfill client requests.
particleSynonym for "data type" in documentation and messages referring to bins. For example, "Boolean particle" means "Boolean data type" in reference to bins. See the glossary entry for "bin".
policyPolicies control the behavior of individual operations against the database, such as reading records, performing read and write operations on distinct data types within the record. They also dictate the operational behavior of a namespace or the entire database node or cluster.
record/object A record (or object) is similar to a row in an RDBMS. It is a contiguous storage unit for all the data uniquely identified by a single key. A record is subdivided into bins (like columns in an RDBMS)
set A set is similar to a table in an RDBMS, except that you don't have to define a schema. A set isn't a distinct storage unit, but instead it is a collection of records within a namespace (the namespace does have its own dedicated storage).
UDFA User-Defined Function (UDF) is code written by a developer that runs inside the Aerospike database server. UDFs can significantly extend the capability of the Aerospike Database engine in functionality and in performance. Aerospike currently only supports Lua as a UDF language.
XDRThe Aerospike cross-datacenter replication (XDR) module allows clusters to synchronize over a longer delay link. XDR is asynchronous, but delay times are often low latency and mainly affected by the baseline latency due to the distance between clusters and the throughput capacity of the network link between them.