Calculate storage and memory capacity requirements/limits for an Aerospike namespace. This calculator does not (yet) calculate: secondary indexes, replication, single bin sets, data/integer in index.
This calculator only shows absolute usage, you should always over-provision both SSD and RAM. Consult the official Aerospike documentation for more information
The Blob size and Records numeric fields accept 'k', 'm' and 'b'. e.g.: "1.2b" == "1,200,000,000"
Use at your own risk. This is not an official Aerospike tool! Manually verify these calculations by doing your own.
More information about capacity planning: aerospike.com/docs/operations/plan/capacity
Source for this calculator (PR's welcome!): github.com/GeertJohan/aerospike-capacity-calculator
Storage: | |
Block size: | bytes |
Data in memory: |
Name: | 9 + {{set.name.length}} = {{set.nameSize()}} bytes | |
Records: | {{set.numRecords | numeraljs:'0,0'}} records |
Name | Type | Data size | Device size | Memory size | Options | |
---|---|---|---|---|---|---|
8 | 28 + 2 + 8 = 38 5 + {{bin.size}} = {{28+5+bin.size}} bytes | 12 + 0 + 0 = 12 5 + {{bin.size}} = {{12+5+bin.size}} bytes | ||||
{{set.binsDeviceSize()}} bytes | {{set.binsMemorySize()}} bytes |
How many bytes are required to store all records?
Set | Record size | Record size on disk | Records | Total size | Total size on disk |
---|---|---|---|---|---|
{{set.name}} | 64 + {{set.nameSize()}} + {{set.binsDeviceSize()}} = {{set.recordDeviceSize()}} | {{set.recordDeviceSizeOnDisk()}} | {{set.numRecordsText}} | {{set.recordDeviceSize()*set.numRecords | numeraljs:'0.[00]b'}} | {{set.recordDeviceSizeOnDisk()*set.numRecords | numeraljs:'0.[00]b'}} |
{{namespace.totalRecordDeviceSize() | numeraljs:'0.[00]b'}} | {{namespace.totalRecordDeviceSizeOnDisk() | numeraljs:'0.[00]b'}} |
How many RAM is required to store the primary keys?
Set | Index size |
---|---|
{{set.name}} | 64 * {{set.numRecordsText}} = {{64*set.numRecords | numeraljs:'0.[00]b'}} |
{{64*namespace.totalNumRecords() | numeraljs:'0.[00]b'}} |
How many RAM is required to store the data in-memory?
Set | Record size | Records | Total size |
---|---|---|---|
{{set.name}} | 2 + {{set.binsMemorySize()}} = {{set.recordMemorySize()}} | {{set.numRecordsText}} | {{set.recordMemorySize()*set.numRecords | numeraljs:'0.[00]b'}} |
{{namespace.totalRecordMemorySize() | numeraljs:'0.[00]b'}} |