FAQ Where Are Set and Bin Names Stored in In-Memory Namespaces?

FAQ: Where Are Set and Bin Names Stored in In-Memory Namespaces?

Detail

In the Capacity Planning Guide, the section on Data Storage Size explicity includes the bytes occupied by the set name in each record and the bin name in each bin. However, the section on Memory Required for Data-in-Memory does not include any allocation for these strings. Is this an error? If not, where does this information get stored?

Answer

While the Aerospike server process (asd) is running, the set and bin names are stored in tables in process memory and internally referred to by indexes into those tables (which is why there are limits on the total number of different set names and bin names per namespace). These names are also stored in the records on disk so that the tables can be rebuilt after a cold start, but that is not a consideration for in-memory namespaces, so records in memory only contain the indices, which are included in the per-record and per-bin overhead.

Notes

As of version 5.4, the related limits are

  • 1023 set names per namespace (10 bits)
  • 65,535 bin names per namespace (16 bits)
  • 32,767 bins per record
  • 63 ASCII characters per set name
  • 15 ASCII characters per bin name

Please see the Known Limitations page as these may change.

Keywords

IN-MEMORY INMEMORY DISK STORAGE COLD START MEMORY SET BIN NAME

Timestamp

February 2021

© 2021 Copyright Aerospike, Inc. | All rights reserved. Creators of the Aerospike Database.