Bitcask Capacity Calculator
These calculators will assist you in sizing your cluster if you plan to use the default Bitcask storage back end.
This page is designed to give you a rough estimate when sizing your cluster. The calculations are a best guess, and they tend to be a bit on the conservative side. It’s important to include a bit of head room as well as room for unexpected growth so that if demand exceeds expectations you’ll be able to add more nodes to the cluster and stay ahead of your requirements.
Recommendations
Details on Bitcask RAM Calculation
With the above information in mind, the following variables will factor into your RAM calculation:
Variable | Description |
---|---|
Static Bitcask per-key overhead | 44.5 bytes per key |
Estimated average size of bucket names-plus-key length | The combined number of characters your bucket + keynames will require (on average). We’ll assume 1 byte per character. |
Estimated total objects | The total number of key/value pairs your cluster will have when started |
Replication Value (n_val ) |
The number of times each key will be replicated when written to Riak (the default is 3) |
The actual equation
Approximate RAM Needed for Bitcask = (static bitcask per key overhead +
estimated average size of bucket names+key length in bytes) * estimate total number of
keys * n_val
Example:
- 50,000,000 keys in your cluster to start
- approximately 30 bytes for each bucket+key name
- default
n_val
of 3
The amount of RAM you would need for Bitcask is about 9.78 GBs across your entire cluster.
Additionally, Bitcask relies on your operating system’s filesystem cache to deliver high performance reads. So when sizing your cluster, take this into account and plan on having several more gigabytes of RAM available for your filesystem cache.