All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.rocksdb.CompactionStyle Maven / Gradle / Ivy

The newest version!
// Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
//  This source code is licensed under both the GPLv2 (found in the
//  COPYING file in the root directory) and Apache 2.0 License
//  (found in the LICENSE.Apache file in the root directory).

package org.rocksdb;

import java.util.List;

/**
 * Enum CompactionStyle
 *
 * RocksDB supports different styles of compaction. Available
 * compaction styles can be chosen using this enumeration.
 *
 * 
    *
  1. LEVEL - Level based Compaction style
  2. *
  3. UNIVERSAL - Universal Compaction Style is a * compaction style, targeting the use cases requiring lower write * amplification, trading off read amplification and space * amplification.
  4. *
  5. FIFO - FIFO compaction style is the simplest * compaction strategy. It is suited for keeping event log data with * very low overhead (query log for example). It periodically deletes * the old data, so it's basically a TTL compaction style.
  6. *
  7. NONE - Disable background compaction. * Compaction jobs are submitted * {@link RocksDB#compactFiles(CompactionOptions, ColumnFamilyHandle, List, int, int, CompactionJobInfo)} ()}.
  8. *
* * @see * Universal Compaction * @see * FIFO Compaction */ public enum CompactionStyle { LEVEL((byte) 0x0), UNIVERSAL((byte) 0x1), FIFO((byte) 0x2), NONE((byte) 0x3); private final byte value; CompactionStyle(final byte value) { this.value = value; } /** * Get the internal representation value. * * @return the internal representation value. */ //TODO(AR) should be made package-private public byte getValue() { return value; } /** * Get the Compaction style from the internal representation value. * * @param value the internal representation value. * * @return the Compaction style * * @throws IllegalArgumentException if the value does not match a * CompactionStyle */ static CompactionStyle fromValue(final byte value) throws IllegalArgumentException { for (final CompactionStyle compactionStyle : CompactionStyle.values()) { if (compactionStyle.value == value) { return compactionStyle; } } throw new IllegalArgumentException("Unknown value for CompactionStyle: " + value); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy