public static class MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder extends AbstractMutableOptions.AbstractMutableOptionsBuilder<MutableColumnFamilyOptions,MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey> implements MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey> |
allKeys()
Get all the possible keys
|
long |
arenaBlockSize()
The size of one block in arena memory allocation.
|
long |
blobCompactionReadaheadSize()
Get compaction readahead for blob files.
|
CompressionType |
blobCompressionType()
Get the compression algorithm in use for large values stored in blob files.
|
long |
blobFileSize()
The size limit for blob files.
|
int |
blobFileStartingLevel()
Get the starting LSM tree level to enable blob files.
|
double |
blobGarbageCollectionAgeCutoff()
Get cutoff in terms of blob file age for garbage collection.
|
double |
blobGarbageCollectionForceThreshold()
Get the current value for the
#blobGarbageCollectionForceThreshold |
protected MutableColumnFamilyOptions |
build(java.lang.String[] keys,
java.lang.String[] values)
Construct a subclass instance of
AbstractMutableOptions . |
CompressionType |
compressionType()
Compress blocks using the specified compression algorithm.
|
boolean |
disableAutoCompactions()
Disable automatic compactions.
|
boolean |
enableBlobFiles()
When set, large values (blobs) are written to separate blob files, and only
pointers to them are stored in SST files.
|
boolean |
enableBlobGarbageCollection()
Query whether garbage collection of blobs is enabled.Blob GC is performed as part of
compaction.
|
double |
experimentalMempurgeThreshold()
Threshold used in the MemPurge (memtable garbage collection)
feature.
|
long |
hardPendingCompactionBytesLimit()
All writes are stopped if estimated bytes needed to be compaction exceed
this threshold.
|
long |
inplaceUpdateNumLocks()
Number of locks used for inplace update
Default: 10000, if inplace_update_support = true, else 0.
|
int |
level0FileNumCompactionTrigger()
Number of files to trigger level-0 compaction.
|
int |
level0SlowdownWritesTrigger()
Soft limit on number of level-0 files.
|
int |
level0StopWritesTrigger()
Maximum number of level-0 files.
|
long |
maxBytesForLevelBase()
The upper-bound of the total size of level-1 files in bytes.
|
double |
maxBytesForLevelMultiplier()
The ratio between the total size of level-(L+1) files and the total
size of level-L files for all L.
|
int[] |
maxBytesForLevelMultiplierAdditional()
Different max-size multipliers for different levels.
|
long |
maxCompactionBytes()
We try to limit number of bytes in one compaction to be lower than this
threshold.
|
long |
maxSequentialSkipInIterations()
An iteration->Next() sequentially skips over keys with the same
user-key unless this option is set.
|
long |
maxSuccessiveMerges()
Maximum number of successive merge operations on a key in the memtable.
|
int |
maxWriteBufferNumber()
Returns maximum number of write buffers.
|
long |
memtableHugePageSize()
Page size for huge page TLB for bloom in memtable.
|
double |
memtablePrefixBloomSizeRatio()
if prefix_extractor is set and memtable_prefix_bloom_size_ratio is not 0,
create prefix bloom for memtable with the size of
write_buffer_size * memtable_prefix_bloom_size_ratio.
|
boolean |
memtableWholeKeyFiltering()
Returns whether whole key bloom filter is enabled in memtable
|
long |
minBlobSize()
Get the size of the smallest value to be stored separately in a blob file.
|
boolean |
paranoidFileChecks()
After writing every SST file, reopen it and read all the keys.
|
long |
periodicCompactionSeconds()
Get the periodicCompactionSeconds.
|
PrepopulateBlobCache |
prepopulateBlobCache()
Get the prepopulate blob cache option.
|
boolean |
reportBgIoStats()
Determine whether IO stats in compactions and flushes are being measured
|
protected MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
self() |
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setArenaBlockSize(long arenaBlockSize)
The size of one block in arena memory allocation.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobCompactionReadaheadSize(long blobCompactionReadaheadSize)
Set compaction readahead for blob files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobCompressionType(CompressionType compressionType)
Set the compression algorithm to use for large values stored in blob files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobFileSize(long blobFileSize)
Set the size limit for blob files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobFileStartingLevel(int blobFileStartingLevel)
Set a certain LSM tree level to enable blob files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobGarbageCollectionAgeCutoff(double blobGarbageCollectionAgeCutoff)
Set cutoff in terms of blob file age for garbage collection.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setBlobGarbageCollectionForceThreshold(double blobGarbageCollectionForceThreshold)
If the ratio of garbage in the oldest blob files exceeds this threshold,
targeted compactions are scheduled in order to force garbage collecting
the blob files in question, assuming they are all eligible based on the
value of
AdvancedMutableColumnFamilyOptionsInterface.blobGarbageCollectionAgeCutoff() above. |
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setCompressionType(CompressionType compressionType)
Compress blocks using the specified compression algorithm.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setDisableAutoCompactions(boolean disableAutoCompactions)
Disable automatic compactions.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setEnableBlobFiles(boolean enableBlobFiles)
When set, large values (blobs) are written to separate blob files, and only
pointers to them are stored in SST files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setEnableBlobGarbageCollection(boolean enableBlobGarbageCollection)
Enable/disable garbage collection of blobs.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setExperimentalMempurgeThreshold(double experimentalMempurgeThreshold)
Threshold used in the MemPurge (memtable garbage collection)
feature.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setHardPendingCompactionBytesLimit(long hardPendingCompactionBytesLimit)
All writes are stopped if estimated bytes needed to be compaction exceed
this threshold.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setInplaceUpdateNumLocks(long inplaceUpdateNumLocks)
Number of locks used for inplace update
Default: 10000, if inplace_update_support = true, else 0.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setLevel0FileNumCompactionTrigger(int level0FileNumCompactionTrigger)
Number of files to trigger level-0 compaction.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setLevel0SlowdownWritesTrigger(int level0SlowdownWritesTrigger)
Soft limit on number of level-0 files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setLevel0StopWritesTrigger(int level0StopWritesTrigger)
Maximum number of level-0 files.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxBytesForLevelBase(long maxBytesForLevelBase)
The upper-bound of the total size of level-1 files in bytes.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxBytesForLevelMultiplier(double maxBytesForLevelMultiplier)
The ratio between the total size of level-(L+1) files and the total
size of level-L files for all L.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxBytesForLevelMultiplierAdditional(int[] maxBytesForLevelMultiplierAdditional)
Different max-size multipliers for different levels.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxCompactionBytes(long maxCompactionBytes)
We try to limit number of bytes in one compaction to be lower than this
threshold.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxSequentialSkipInIterations(long maxSequentialSkipInIterations)
An iteration->Next() sequentially skips over keys with the same
user-key unless this option is set.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxSuccessiveMerges(long maxSuccessiveMerges)
Maximum number of successive merge operations on a key in the memtable.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMaxWriteBufferNumber(int maxWriteBufferNumber)
The maximum number of write buffers that are built up in memory.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMemtableHugePageSize(long memtableHugePageSize)
Page size for huge page TLB for bloom in memtable.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMemtablePrefixBloomSizeRatio(double memtablePrefixBloomSizeRatio)
if prefix_extractor is set and memtable_prefix_bloom_size_ratio is not 0,
create prefix bloom for memtable with the size of
write_buffer_size * memtable_prefix_bloom_size_ratio.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMemtableWholeKeyFiltering(boolean memtableWholeKeyFiltering)
Enable whole key bloom filter in memtable.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setMinBlobSize(long minBlobSize)
Set the size of the smallest value to be stored separately in a blob file.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setParanoidFileChecks(boolean paranoidFileChecks)
After writing every SST file, reopen it and read all the keys.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setPeriodicCompactionSeconds(long periodicCompactionSeconds)
Files older than this value will be picked up for compaction, and
re-written to the same level as they were before.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setPrepopulateBlobCache(PrepopulateBlobCache prepopulateBlobCache)
Set a certain prepopulate blob cache option.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setReportBgIoStats(boolean reportBgIoStats)
Measure IO stats in compactions and flushes, if true.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setSoftPendingCompactionBytesLimit(long softPendingCompactionBytesLimit)
All writes will be slowed down to at least delayed_write_rate if estimated
bytes needed to be compaction exceed this threshold.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setTargetFileSizeBase(long targetFileSizeBase)
The target file size for compaction.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setTargetFileSizeMultiplier(int targetFileSizeMultiplier)
targetFileSizeMultiplier defines the size ratio between a
level-L file and level-(L+1) file.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setTtl(long ttl)
Non-bottom-level files older than TTL will go through the compaction
process.
|
MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder |
setWriteBufferSize(long writeBufferSize)
Amount of data to build up in memory (backed by an unsorted log
on disk) before converting to a sorted on-disk file.
|
long |
softPendingCompactionBytesLimit()
All writes will be slowed down to at least delayed_write_rate if estimated
bytes needed to be compaction exceed this threshold.
|
long |
targetFileSizeBase()
The target file size for compaction.
|
int |
targetFileSizeMultiplier()
targetFileSizeMultiplier defines the size ratio between a
level-(L+1) file and level-L file.
|
long |
ttl()
Get the TTL for Non-bottom-level files that will go through the compaction
process.
|
long |
writeBufferSize()
Return size of write buffer size.
|
build, fromParsed, getBoolean, getDouble, getEnum, getInt, getIntArray, getLong, getUnknown, setBoolean, setDouble, setEnum, setInt, setIntArray, setLong
protected MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder self()
self
in class AbstractMutableOptions.AbstractMutableOptionsBuilder<MutableColumnFamilyOptions,MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey>
protected java.util.Map<java.lang.String,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey> allKeys()
AbstractMutableOptions.AbstractMutableOptionsBuilder
allKeys
in class AbstractMutableOptions.AbstractMutableOptionsBuilder<MutableColumnFamilyOptions,MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey>
protected MutableColumnFamilyOptions build(java.lang.String[] keys, java.lang.String[] values)
AbstractMutableOptions.AbstractMutableOptionsBuilder
AbstractMutableOptions
.build
in class AbstractMutableOptions.AbstractMutableOptionsBuilder<MutableColumnFamilyOptions,MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder,org.rocksdb.MutableColumnFamilyOptions.MutableColumnFamilyOptionKey>
keys
- the keysvalues
- the valuespublic MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setWriteBufferSize(long writeBufferSize)
MutableColumnFamilyOptionsInterface
Larger values increase performance, especially during bulk loads.
Up to max_write_buffer_number
write buffers may be held in memory
at the same time, so you may wish to adjust this parameter
to control memory usage.
Also, a larger write buffer will result in a longer recovery time the next time the database is opened.
Default: 64MB
setWriteBufferSize
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
writeBufferSize
- the size of write buffer.public long writeBufferSize()
MutableColumnFamilyOptionsInterface
writeBufferSize
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
MutableColumnFamilyOptionsInterface.setWriteBufferSize(long)
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setArenaBlockSize(long arenaBlockSize)
AdvancedMutableColumnFamilyOptionsInterface
There are two additional restriction of the specified size: (1) size should be in the range of [4096, 2 << 30] and (2) be the multiple of the CPU word (which helps with the memory alignment).
We'll automatically check and adjust the size number to make sure it conforms to the restrictions. Default: 0
setArenaBlockSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
arenaBlockSize
- the size of an arena blockpublic long arenaBlockSize()
AdvancedMutableColumnFamilyOptionsInterface
There are two additional restriction of the specified size: (1) size should be in the range of [4096, 2 << 30] and (2) be the multiple of the CPU word (which helps with the memory alignment).
We'll automatically check and adjust the size number to make sure it conforms to the restrictions. Default: 0
arenaBlockSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMemtablePrefixBloomSizeRatio(double memtablePrefixBloomSizeRatio)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0 (disabled)
setMemtablePrefixBloomSizeRatio
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
memtablePrefixBloomSizeRatio
- the ratio of memtable used by the
bloom filter, 0 means no bloom filterpublic double memtablePrefixBloomSizeRatio()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0 (disabled)
memtablePrefixBloomSizeRatio
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMemtableWholeKeyFiltering(boolean memtableWholeKeyFiltering)
AdvancedMutableColumnFamilyOptionsInterface
Default: false (disabled)
setMemtableWholeKeyFiltering
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
memtableWholeKeyFiltering
- true if whole key bloom filter is enabled
in memtablepublic boolean memtableWholeKeyFiltering()
AdvancedMutableColumnFamilyOptionsInterface
memtableWholeKeyFiltering
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMemtableHugePageSize(long memtableHugePageSize)
AdvancedMutableColumnFamilyOptionsInterface
setMemtableHugePageSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
memtableHugePageSize
- The page size of the huge
page tlbpublic long memtableHugePageSize()
AdvancedMutableColumnFamilyOptionsInterface
memtableHugePageSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxSuccessiveMerges(long maxSuccessiveMerges)
AdvancedMutableColumnFamilyOptionsInterface
When a merge operation is added to the memtable and the maximum number of successive merges is reached, the value of the key will be calculated and inserted into the memtable instead of the merge operation. This will ensure that there are never more than max_successive_merges merge operations in the memtable.
Default: 0 (disabled)
setMaxSuccessiveMerges
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxSuccessiveMerges
- the maximum number of successive merges.public long maxSuccessiveMerges()
AdvancedMutableColumnFamilyOptionsInterface
When a merge operation is added to the memtable and the maximum number of successive merges is reached, the value of the key will be calculated and inserted into the memtable instead of the merge operation. This will ensure that there are never more than max_successive_merges merge operations in the memtable.
Default: 0 (disabled)
maxSuccessiveMerges
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxWriteBufferNumber(int maxWriteBufferNumber)
AdvancedMutableColumnFamilyOptionsInterface
setMaxWriteBufferNumber
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxWriteBufferNumber
- maximum number of write buffers.public int maxWriteBufferNumber()
AdvancedMutableColumnFamilyOptionsInterface
maxWriteBufferNumber
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
AdvancedMutableColumnFamilyOptionsInterface.setMaxWriteBufferNumber(int)
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setInplaceUpdateNumLocks(long inplaceUpdateNumLocks)
AdvancedMutableColumnFamilyOptionsInterface
setInplaceUpdateNumLocks
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
inplaceUpdateNumLocks
- the number of locks used for
inplace updates.public long inplaceUpdateNumLocks()
AdvancedMutableColumnFamilyOptionsInterface
inplaceUpdateNumLocks
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setExperimentalMempurgeThreshold(double experimentalMempurgeThreshold)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0.0 (disabled)
setExperimentalMempurgeThreshold
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
experimentalMempurgeThreshold
- the threshold used by
the MemPurge decider.public double experimentalMempurgeThreshold()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0 (disabled)
experimentalMempurgeThreshold
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setDisableAutoCompactions(boolean disableAutoCompactions)
MutableColumnFamilyOptionsInterface
setDisableAutoCompactions
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
disableAutoCompactions
- true if auto-compactions are disabled.public boolean disableAutoCompactions()
MutableColumnFamilyOptionsInterface
disableAutoCompactions
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setSoftPendingCompactionBytesLimit(long softPendingCompactionBytesLimit)
AdvancedMutableColumnFamilyOptionsInterface
Default: 64GB
setSoftPendingCompactionBytesLimit
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
softPendingCompactionBytesLimit
- The soft limit to impose on
compactionpublic long softPendingCompactionBytesLimit()
AdvancedMutableColumnFamilyOptionsInterface
Default: 64GB
softPendingCompactionBytesLimit
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setHardPendingCompactionBytesLimit(long hardPendingCompactionBytesLimit)
AdvancedMutableColumnFamilyOptionsInterface
Default: 256GB
setHardPendingCompactionBytesLimit
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
hardPendingCompactionBytesLimit
- The hard limit to impose on
compactionpublic long hardPendingCompactionBytesLimit()
AdvancedMutableColumnFamilyOptionsInterface
Default: 256GB
hardPendingCompactionBytesLimit
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setLevel0FileNumCompactionTrigger(int level0FileNumCompactionTrigger)
MutableColumnFamilyOptionsInterface
Default: 4
setLevel0FileNumCompactionTrigger
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
level0FileNumCompactionTrigger
- The number of files to trigger
level-0 compactionpublic int level0FileNumCompactionTrigger()
MutableColumnFamilyOptionsInterface
Default: 4
level0FileNumCompactionTrigger
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setLevel0SlowdownWritesTrigger(int level0SlowdownWritesTrigger)
AdvancedMutableColumnFamilyOptionsInterface
setLevel0SlowdownWritesTrigger
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
level0SlowdownWritesTrigger
- The soft limit on the number of
level-0 filespublic int level0SlowdownWritesTrigger()
AdvancedMutableColumnFamilyOptionsInterface
level0SlowdownWritesTrigger
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setLevel0StopWritesTrigger(int level0StopWritesTrigger)
AdvancedMutableColumnFamilyOptionsInterface
setLevel0StopWritesTrigger
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
level0StopWritesTrigger
- The maximum number of level-0 filespublic int level0StopWritesTrigger()
AdvancedMutableColumnFamilyOptionsInterface
level0StopWritesTrigger
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxCompactionBytes(long maxCompactionBytes)
MutableColumnFamilyOptionsInterface
setMaxCompactionBytes
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxCompactionBytes
- max bytes in a compactionMutableColumnFamilyOptionsInterface.maxCompactionBytes()
public long maxCompactionBytes()
MutableColumnFamilyOptionsInterface
maxCompactionBytes
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
MutableColumnFamilyOptionsInterface.setMaxCompactionBytes(long)
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setTargetFileSizeBase(long targetFileSizeBase)
AdvancedMutableColumnFamilyOptionsInterface
setTargetFileSizeBase
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
targetFileSizeBase
- the target size of a level-0 file.AdvancedMutableColumnFamilyOptionsInterface.setTargetFileSizeMultiplier(int)
public long targetFileSizeBase()
AdvancedMutableColumnFamilyOptionsInterface
targetFileSizeBase
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
AdvancedMutableColumnFamilyOptionsInterface.targetFileSizeMultiplier()
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setTargetFileSizeMultiplier(int targetFileSizeMultiplier)
AdvancedMutableColumnFamilyOptionsInterface
setTargetFileSizeMultiplier
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
targetFileSizeMultiplier
- the size ratio between a level-(L+1) file
and level-L file.public int targetFileSizeMultiplier()
AdvancedMutableColumnFamilyOptionsInterface
targetFileSizeMultiplier
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxBytesForLevelBase(long maxBytesForLevelBase)
MutableColumnFamilyOptionsInterface
setMaxBytesForLevelBase
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxBytesForLevelBase
- maximum bytes for level base.
See AdvancedMutableColumnFamilyOptionsInterface.setMaxBytesForLevelMultiplier(double)
public long maxBytesForLevelBase()
MutableColumnFamilyOptionsInterface
maxBytesForLevelBase
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
See AdvancedMutableColumnFamilyOptionsInterface.maxBytesForLevelMultiplier()
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxBytesForLevelMultiplier(double maxBytesForLevelMultiplier)
AdvancedMutableColumnFamilyOptionsInterface
setMaxBytesForLevelMultiplier
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxBytesForLevelMultiplier
- the ratio between the total size of level-(L+1)
files and the total size of level-L files for all L.
See MutableColumnFamilyOptionsInterface.setMaxBytesForLevelBase(long)
public double maxBytesForLevelMultiplier()
AdvancedMutableColumnFamilyOptionsInterface
maxBytesForLevelMultiplier
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
See MutableColumnFamilyOptionsInterface.maxBytesForLevelBase()
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxBytesForLevelMultiplierAdditional(int[] maxBytesForLevelMultiplierAdditional)
AdvancedMutableColumnFamilyOptionsInterface
Default: 1
setMaxBytesForLevelMultiplierAdditional
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxBytesForLevelMultiplierAdditional
- The max-size multipliers
for each levelpublic int[] maxBytesForLevelMultiplierAdditional()
AdvancedMutableColumnFamilyOptionsInterface
Default: 1
maxBytesForLevelMultiplierAdditional
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMaxSequentialSkipInIterations(long maxSequentialSkipInIterations)
AdvancedMutableColumnFamilyOptionsInterface
setMaxSequentialSkipInIterations
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
maxSequentialSkipInIterations
- the number of keys could
be skipped in an iteration.public long maxSequentialSkipInIterations()
AdvancedMutableColumnFamilyOptionsInterface
maxSequentialSkipInIterations
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setParanoidFileChecks(boolean paranoidFileChecks)
AdvancedMutableColumnFamilyOptionsInterface
Default: false
setParanoidFileChecks
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
paranoidFileChecks
- true to enable paranoid file checkspublic boolean paranoidFileChecks()
AdvancedMutableColumnFamilyOptionsInterface
Default: false
paranoidFileChecks
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setCompressionType(CompressionType compressionType)
MutableColumnFamilyOptionsInterface
Default: SNAPPY_COMPRESSION, which gives lightweight but fast compression.
setCompressionType
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
compressionType
- Compression Type.public CompressionType compressionType()
MutableColumnFamilyOptionsInterface
Default: SNAPPY_COMPRESSION, which gives lightweight but fast compression.
compressionType
in interface MutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setReportBgIoStats(boolean reportBgIoStats)
AdvancedMutableColumnFamilyOptionsInterface
Default: false
setReportBgIoStats
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
reportBgIoStats
- true to enable reportingpublic boolean reportBgIoStats()
AdvancedMutableColumnFamilyOptionsInterface
reportBgIoStats
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setTtl(long ttl)
AdvancedMutableColumnFamilyOptionsInterface
MutableDBOptionsInterface.maxOpenFiles()
to be
set to -1.
Enabled only for level compaction for now.
Default: 0 (disabled)
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setTtl
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
ttl
- the time-to-live.public long ttl()
AdvancedMutableColumnFamilyOptionsInterface
See AdvancedMutableColumnFamilyOptionsInterface.setTtl(long)
.
ttl
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setPeriodicCompactionSeconds(long periodicCompactionSeconds)
AdvancedMutableColumnFamilyOptionsInterface
A file's age is computed by looking at file_creation_time or creation_time table properties in order, if they have valid non-zero values; if not, the age is based on the file's last modified time (given by the underlying Env).
Supported in Level and FIFO compaction. In FIFO compaction, this option has the same meaning as TTL and whichever stricter will be used. Pre-req: max_open_file == -1. unit: seconds. Ex: 7 days = 7 * 24 * 60 * 60
Values: 0: Turn off Periodic compactions. UINT64_MAX - 1 (i.e 0xfffffffffffffffe): Let RocksDB control this feature as needed. For now, RocksDB will change this value to 30 days (i.e 30 * 24 * 60 * 60) so that every file goes through the compaction process at least once every 30 days if not compacted sooner. In FIFO compaction, since the option has the same meaning as ttl, when this value is left default, and ttl is left to 0, 30 days will be used. Otherwise, min(ttl, periodic_compaction_seconds) will be used.
Default: 0xfffffffffffffffe (allow RocksDB to auto-tune)
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setPeriodicCompactionSeconds
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
periodicCompactionSeconds
- the periodic compaction in seconds.public long periodicCompactionSeconds()
AdvancedMutableColumnFamilyOptionsInterface
See AdvancedMutableColumnFamilyOptionsInterface.setPeriodicCompactionSeconds(long)
.
periodicCompactionSeconds
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setEnableBlobFiles(boolean enableBlobFiles)
AdvancedMutableColumnFamilyOptionsInterface
Default: false
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setEnableBlobFiles
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
enableBlobFiles
- true iff blob files should be enabledpublic boolean enableBlobFiles()
AdvancedMutableColumnFamilyOptionsInterface
Default: false
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
enableBlobFiles
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setMinBlobSize(long minBlobSize)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setMinBlobSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
minBlobSize
- the size of the smallest value to be stored separately in a blob filepublic long minBlobSize()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
minBlobSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobFileSize(long blobFileSize)
AdvancedMutableColumnFamilyOptionsInterface
Default: 256 MB
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setBlobFileSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
blobFileSize
- the size limit for blob filespublic long blobFileSize()
AdvancedMutableColumnFamilyOptionsInterface
blobFileSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobCompressionType(CompressionType compressionType)
AdvancedMutableColumnFamilyOptionsInterface
Default: no compression
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setBlobCompressionType
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
compressionType
- the compression algorithm to use.public CompressionType blobCompressionType()
AdvancedMutableColumnFamilyOptionsInterface
blobCompressionType
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setEnableBlobGarbageCollection(boolean enableBlobGarbageCollection)
AdvancedMutableColumnFamilyOptionsInterface
Default: false
setEnableBlobGarbageCollection
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
enableBlobGarbageCollection
- the new enabled/disabled state of blob garbage collectionpublic boolean enableBlobGarbageCollection()
AdvancedMutableColumnFamilyOptionsInterface
Default: false
enableBlobGarbageCollection
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobGarbageCollectionAgeCutoff(double blobGarbageCollectionAgeCutoff)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0.25
setBlobGarbageCollectionAgeCutoff
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
blobGarbageCollectionAgeCutoff
- the new age cutoffpublic double blobGarbageCollectionAgeCutoff()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0.25
blobGarbageCollectionAgeCutoff
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobGarbageCollectionForceThreshold(double blobGarbageCollectionForceThreshold)
AdvancedMutableColumnFamilyOptionsInterface
AdvancedMutableColumnFamilyOptionsInterface.blobGarbageCollectionAgeCutoff()
above. This option is
currently only supported with leveled compactions.
Note that AdvancedMutableColumnFamilyOptionsInterface.enableBlobGarbageCollection()
has to be set in order for this
option to have any effect.
Default: 1.0
Dynamically changeable through the SetOptions() API
setBlobGarbageCollectionForceThreshold
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
blobGarbageCollectionForceThreshold
- new value for the thresholdpublic double blobGarbageCollectionForceThreshold()
AdvancedMutableColumnFamilyOptionsInterface
#blobGarbageCollectionForceThreshold
blobGarbageCollectionForceThreshold
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobCompactionReadaheadSize(long blobCompactionReadaheadSize)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setBlobCompactionReadaheadSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
blobCompactionReadaheadSize
- the compaction readahead for blob filespublic long blobCompactionReadaheadSize()
AdvancedMutableColumnFamilyOptionsInterface
blobCompactionReadaheadSize
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setBlobFileStartingLevel(int blobFileStartingLevel)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setBlobFileStartingLevel
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
blobFileStartingLevel
- the starting level to enable blob filespublic int blobFileStartingLevel()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
blobFileStartingLevel
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
public MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder setPrepopulateBlobCache(PrepopulateBlobCache prepopulateBlobCache)
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
Dynamically changeable through
RocksDB.setOptions(ColumnFamilyHandle, MutableColumnFamilyOptions)
.
setPrepopulateBlobCache
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>
prepopulateBlobCache
- prepopulate the blob cache optionpublic PrepopulateBlobCache prepopulateBlobCache()
AdvancedMutableColumnFamilyOptionsInterface
Default: 0
prepopulateBlobCache
in interface AdvancedMutableColumnFamilyOptionsInterface<MutableColumnFamilyOptions.MutableColumnFamilyOptionsBuilder>