Aerospike

Concepts

namespace

  • containing records, indexes, and policies
  • be part of a database or a group of databases
  • A database can specify multiple namespaces.
  • Consider namespaces as physical containers that bind data to a storage device (a RAM segment, disk, or file, or none).

Set

  • In namespaces, records belong to logical containers called sets.
  • but, there could be records which don't belong to any set in namespace.

Bin

  • consisting of a name and a value
  • kind of column in RDBMS

Records

  • belonging to a namespace or to a set within the namespace
  • using a key as their unique identifier.
  • a row in database. A record is the basic unit of storage in the database.

Metadata

  • generation: tracks record modification cycle. The number is returned to the application on reads, which can use it to ensure that the data being written has not been modified since the last read.
  • time-to-live (TTL) specifies record expiration. Aerospike automatically expires records based on their TTL. The TTL increments every time the record is written. For server version 3.10.1 and above, the client can set a policy to not update the TTL when updating the record. See respective client API docs for details.
  • last-update-time (LUT): specifies the timestamp record was updated. This is a metadata internal to the database and is not returned to the client.
Component Description
key Unique identifier. Records are addressable using a hash of its key, called the digest.
metadata Record version information (generation) and the configured expiration, called the time-to-live (TTL).
bins Bins are equivalent to fields in RDBMS.

policies

  • How data is stored: on DRAM or disk.
  • How many replicas exist for a record.
  • When records expire.

Data Types

Storage

Hybrid Storage

  • Record data is stored together.
  • The default storage size for one row is 1 MB.
  • Storage is copy-on-write.
  • Free space is reclaimed during defragmentation.
  • Each namespace has a fixed amount of storage, and each node must have the same namespaces on each server, which requires the same amount of storage for each namespace.

Optimization

Client

Last modified 3 years ago Last modified on 06/07/17 14:23:52