Tunable memory

Tunable memory enables both value-only ejection and full metadata ejection from memory.

The cache management approach for item ejection is implemented with value-only ejection and full metadata ejection:

  • Value-only ejection (the default) removes the data from cache but keeps all keys and metadata fields for non-resident items. When the value bucket ejection occurs, the item's value is reset.
  • Full metadata ejection removes all data including keys, metadata, and key-values from cache for non-resident items. Full metadata ejection reduces RAM requirement for large buckets.

Full-bucket ejection supports very large data footprints (a large number of datasets or items/keys) since the working sets in memory are smaller. The smaller working sets allow efficient cache management and reduced warmup times. Metadata ejection is configured at the bucket-level.

For example, you might want to enable the full metadata ejection on that bucket if you need to store huge amounts of data (for example, tera or peta bytes).

For information on how to eject metadata from memory, see the Couchbase web console, CLI, and REST API sections.

Backward compatibility

With full metadata ejection, an item’s key and metadata is ejected along with its value. In previous releases, an item’s value is only ejected from cache while its key and metadata remain in cache.