Add ZSTD compression (#430)
* Add support for zstd and split compression Add support for using zstd as an alternative to native, lz4. Upgrade lz4 to v1.9.4 (with ARM enhancements). Allow for split compression algorithms - i.e. use native on journal, but lz4 on ledger. * Switch to AdRoll zstd Development appears to be active and ongoing. No issues running on different linux flavours. * Use realistic bucket name * Update README.md * Switch branch * Add comment following review
This commit is contained in:
parent
c294570bce
commit
999ce8ba5b
10 changed files with 156 additions and 73 deletions
|
@ -39,11 +39,21 @@
|
|||
%% Can be lz4 or native (which will use the Erlang native zlib compression)
|
||||
%% within term_to_binary
|
||||
{mapping, "multi_backend.$name.leveled.compression_method", "riak_kv.multi_backend", [
|
||||
{datatype, {enum, [native, lz4, none]}},
|
||||
{datatype, {enum, [native, lz4, zstd, none]}},
|
||||
{default, native},
|
||||
hidden
|
||||
]}.
|
||||
|
||||
%% @doc Ledger compression
|
||||
%% If an alternative compression method is preferred specifically for the
|
||||
%% ledger, it can be specified here. Default is as_store - use whatever method
|
||||
%% has been defined in leveled.compression.method. Alternatives are native,
|
||||
%% lz4, ztsd and none
|
||||
{mapping, "multi_backend.$name.ledger_compression", "riak_kv.multi_backend", [
|
||||
{datatype, {enum, [as_store, native, lz4, zstd, none]}},
|
||||
{default, as_store}
|
||||
]}.
|
||||
|
||||
%% @doc Compression point
|
||||
%% The point at which compression is applied to the Journal (the Ledger is
|
||||
%% always compressed). Use on_receipt or on_compact. on_compact is suitable
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue