diff --git a/HISTORY.md b/HISTORY.md index e5a2e32bc..d69c195b7 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -4,6 +4,10 @@ * Mempurge option flag `experimental_mempurge_threshold` is now a ColumnFamilyOptions and can now be dynamically configured using `SetOptions()`. * Support backward iteration when `ReadOptions::iter_start_ts` is set. * Provide support for ReadOptions.async_io with direct_io to improve Seek latency by using async IO to parallelize child iterator seek and doing asynchronous prefetching on sequential scans. +* Added support for blob caching in order to cache frequently used blobs for BlobDB. + * User can configure the new ColumnFamilyOptions `blob_cache` to enable/disable blob caching. + * Either sharing the backend cache with the block cache or using a completely separate cache is supported. + * A new abstraction interface called `BlobSource` for blob read logic gives all users access to blobs, whether they are in the blob cache, secondary cache, or (remote) storage. Blobs can be potentially read both while handling user reads (`Get`, `MultiGet`, or iterator) and during compaction (while dealing with compaction filters, Merges, or garbage collection) but eventually all blob reads go through `Version::GetBlob` or, for MultiGet, `Version::MultiGetBlob` (and then get dispatched to the interface -- `BlobSource`). ### Public API changes * Add metadata related structs and functions in C API, including