Known Limitations
Detailed here are various maximum sizes or numbers, name lengths, and character restrictions of the names of various Aerospike Server objects.
Object | What | Description |
---|---|---|
Bin | Name, length and characters | - Maximum: 15 bytes. - Aerospike Server versions prior to 4.2, maximum: 14 single-byte characters. - Double-byte characters are displayed as ASCII. - Names can include only Latin lowercase and uppercase letters with no diacritical marks (a-z, A-Z), digits 0-9, underscores (_), hyphens (-), and dollar signs ($). This naming guideline is not enforced; however, if you do not follow it, some Aerospike features and tools might not function properly. - Reserved word null should be avoided. |
Bin | Number of bins per namespace | - Maximum bin names per namespace: 65,535. - Versions prior to 5.0, maximum: 32,767. |
Cluster size | Number of nodes | Versions 5.0+, maximum: 256. Versions pre-5.0 to version 3.14: 128. For Enterprise Edition versions prior to 3.14 running the heartbeat protocol v2, the limit is defined by the configuration parameter paxos-max-cluster-size. For Community Edition: - Server versions 4.0 and later, maximum: 8. - Server versions earlier than 4.0, maximum: 31. |
Cluster | Amount of data | For Community Edition, maximum: 5TB for entire cluster, divided into 640GB of unique data per node: 5TB ÷ 8 maximum number of nodes per cluster. The maximum 640GB per node is calculated only on available capacity of the node, not actual capacity, and can include system overhead for necessary server processes. |
Devices | Number of devices or files per namespace per node | - Aerospike Server version 4.2 and later, maximum: 128. - Versions between 4.2 and 3.1.2.1, maximum: 64. - Versions earlier than 3.1.2.1, maximum: 32. |
Histogram | Interval between sampling slices | For 10 second slices, maximum: 86400 seconds. |
Generation | Number | The generation will wrap back to 1 after 65536 updates in AP mode, or 1024 updates in SC mode. Refer to the conflict-resolution-policy for details on one of the main usage of this meta data. |
Key | Data Type | A key's data type can be a string, integer or bytes (blob). |
Key | Size | The Java client limits the records primary key size to slightly under 8 KiB. For C based clients such as Python, PHP, Go, and C#, no limit is defined. The actual limit is the size of the stack at around 10MiB. The total stack size can be determined by running the ulimit command:- ulimit -s Or, print a list of all current limits: - ulimit -a |
Namespace | Name, length and characters | - Maximum: 31 bytes. - Double-byte characters are displayed as ASCII. - Must not contain the : or ; character.- Reserved word null should be avoided. |
Namespace | Number of bins | - Maximum bin names per namespace: 65,535. - Versions prior to 5.0, maximum: 32,767. - Maximum bins per key: 32,767 bins. |
Namespace | Number of namespaces | - Enterprise edition, maximum: 32. - Community edition server version 4.0 and later, maximum: 2. |
Namespace | Size of each file or disk | Maximum: 2TiB. |
Namespace | Storage | Maximum: 128 devices per namespace. |
Network interfaces | Number | Maximum number of interfaces: 500. Prior to version 3.5, maximum: 50. Maximum number of IP addresses per interface: 20. Any IP addresses after 20 are ignored. |
Record | Number | Maximum: - Enterprise edition: 549,755,813,888 records per namespace per node (2^39, or 32TiB of RAM). The value of 2^39 number of records requires Aerospike Server Enterprise Edition version 4.2.0.2 or later with index-stage-size set to 16G. - Community edition: 4,294,967,296 records per namespace per node. Actual number limited by RAM and storage: - Every record index entry takes 64 bytes for the index entry. The index entry is stored only in RAM. The key itself is not stored in the index. - The hash of the key (RIPE-MD 160 algorithm) is stored in the index. This hash with overhead takes exactly 64 bytes. |
Record | Number of bins | - Maximum bins per record: 32,767 bins. |
Record | Sets | A record can belong to only one set. |
Record | Maximum record size | Record size is actual data + metadata. The digest can be considered metadata or can be added explicitly as metadata. - For data in memory: 128MiB. - For data stored on device: maximum record size is limited to the value of write-block-size, which is typically set to 128KB for Flash devices. For server 4.2 or later can be increased to 8 MiB. For versions prior to server 4.2, maximum: 1 MiB. |
Replication factor | - In Available-and-Partition-tolerant (AP) mode, the replication factor can be greater than the number nodes in the cluster. In this case, the replication factor is dynamically adjusted to the number of nodes. When a new node is added, the replication factor is again dynamically adjusted to the new number of nodes. - In Strong Consistency (SC) mode, the limit on replication factor is the number of nodes in the cluster. | |
Secondary index | Byte size | A bin is eligible for secondary indexing if its size is within the following bounds: - String bin ≤ 2048 bytes - GeoJSON bin ≤ 1MB. |
Secondary index | Indexes per namespace | Maximum: 256. |
Secondary index | Name, length and characters | - Maximum: 255 bytes. - Must not contain the : or ; character.- Reserved word null should be avoided. |
Security password | Allowable passwords | See Valid password constructs. |
Security user name and role name | Name length and characters | - Maximum: 63 bytes. - Must not contain the : or ; characters.- Reserved word null should be avoided. |
Set | Name length and characters | - Maximum: 63 bytes. - Names can include only Latin lowercase and uppercase letters with no diacritical marks (a-z, A-Z), digits 0-9, underscores (_), hyphens (-), and dollar signs ($). This naming guideline is not enforced; however, if you do not follow it, some Aerospike features and tools might not function properly. - Reserved word null should be avoided. |
Set | Number of sets | Maximum: 1023 sets per namespace. |
XDR | Number of datacenters | Maximum: 64. |