@Override public ColumnFamilyOptions createColumnOptions() { final long blockCacheSize = 256 * 1024 * 1024; final long blockSize = 128 * 1024; final long targetFileSize = 256 * 1024 * 1024; final long writeBufferSize = 64 * 1024 * 1024; return new ColumnFamilyOptions() .setCompactionStyle(CompactionStyle.LEVEL) .setLevelCompactionDynamicLevelBytes(true) .setTargetFileSizeBase(targetFileSize) .setMaxBytesForLevelBase(4 * targetFileSize) .setWriteBufferSize(writeBufferSize) .setMinWriteBufferNumberToMerge(3) .setMaxWriteBufferNumber(4) .setTableFormatConfig( new BlockBasedTableConfig() .setBlockCacheSize(blockCacheSize) .setBlockSize(blockSize) .setFilter(new BloomFilter()) ); } },
ColumnFamilyOptions cfOpts = new ColumnFamilyOptions() .setMemTableConfig(new HashLinkedListMemTableConfig()) .setCompressionType(CompressionType.NO_COMPRESSION) .useFixedLengthPrefixExtractor(Longs.BYTES); // We always search using the initial long key
@Override public ColumnFamilyOptions createColumnOptions() { return new ColumnFamilyOptions() .setCompactionStyle(CompactionStyle.LEVEL) .setLevelCompactionDynamicLevelBytes(true); } },
@Override public ColumnFamilyOptions createColumnFamilyOptions(ColumnFamilyOptions currentOptions) { if (currentOptions == null) currentOptions = new ColumnFamilyOptions(); currentOptions.setMergeOperator(new StringAppendOperator()); currentOptions.setMaxWriteBufferNumber(4); currentOptions.setWriteBufferSize(64 * SizeUnit.MB); currentOptions.setTableFormatConfig(tableOptions); currentOptions.setTargetFileSizeBase(64 * SizeUnit.MB); currentOptions.setCompactionStyle(CompactionStyle.LEVEL); currentOptions.setLevelZeroFileNumCompactionTrigger(4); currentOptions.setLevelZeroSlowdownWritesTrigger(20); currentOptions.setLevelZeroStopWritesTrigger(30); currentOptions.setNumLevels(4); currentOptions.setMaxBytesForLevelBase(64 * 4 * SizeUnit.MB); return currentOptions;
dbOpts.setCreateMissingColumnFamilies(true); cfOpts = new ColumnFamilyOptions(); cfOpts.setTableFormatConfig(tableConfig); cfOpts.setWriteBufferSize(WRITE_BUFFER_SIZE); cfOpts.setCompressionType(DEFAULT_COMPRESSION_TYPE); cfOpts.setCompactionStyle(DEFAULT_COMPACTION_STYLE); cfOpts.setMaxWriteBufferNumber(MAX_WRITE_BUFFERS);
@SuppressWarnings("resource") DBOptions options = new DBOptions().setCreateIfMissing(true); ColumnFamilyOptions coptions1 = new ColumnFamilyOptions(); coptions1.setMergeOperatorName("uint64add"); coptions1.setCompactionStyle(CompactionStyle.LEVEL); coptions1.setCompressionType(CompressionType.NO_COMPRESSION); coptions1.setLevel0FileNumCompactionTrigger(8); coptions1.setWriteBufferSize(4096L); coptions1.setTableFormatConfig(blockConfig); options.setMaxBackgroundFlushes(1); colFamily.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY, coptions1));
dbOptions.setMaxBackgroundFlushes(2); dbOptions.setMaxBackgroundCompactions(2); ColumnFamilyOptions familyOptions = new ColumnFamilyOptions(); familyOptions.setTargetFileSizeBase(fileSizeBase); familyOptions.setCompactionStyle(CompactionStyle.LEVEL); familyOptions.setNumLevels(levelNum); familyOptions.setLevelZeroFileNumCompactionTrigger(compactionTriggerNum); List<byte[]> families = RocksDB.listColumnFamilies(options, dbPath); List<ColumnFamilyDescriptor> columnFamilyDescriptors = new ArrayList<>();
@Override public ColumnFamilyOptions createColumnOptions() { return new ColumnFamilyOptions(); } };
private ColumnFamilyOptions newColFamilyOptions() { ColumnFamilyOptions colFamilyOptions = new ColumnFamilyOptions(); // enable bloom filter to speed up RocksDB.get() calls BlockBasedTableConfig tableFormatConfig = new BlockBasedTableConfig(); BloomFilter bloomFilter = new BloomFilter(); tableFormatConfig.setFilter(bloomFilter); colFamilyOptions.setTableFormatConfig(tableFormatConfig); // cause the Windows jar doesn't come with // snappy and hence fails colFamilyOptions.setCompressionType(CompressionType.NO_COMPRESSION); return colFamilyOptions; }
.setMaxTotalWalSize(0L); dbOptions.setMaxSubcompactions(maxSubcompactions); ColumnFamilyOptions cfOptions = new ColumnFamilyOptions() .setCompactionStyle(CompactionStyle.LEVEL) .setNumLevels(4) .setMaxWriteBufferNumber(maxWriteBufferNumber); rocksDBOptions = new Options(dbOptions, cfOptions) .setCreateIfMissing(true)
public RocksdbDAGStore(RocksDB db) { this.db = db; try { // enable bloom filter to speed up RocksDB.get() calls BlockBasedTableConfig tableFormatConfig = new BlockBasedTableConfig(); bloomFilter = new BloomFilter(); tableFormatConfig.setFilter(bloomFilter); colFamilyOptions = new ColumnFamilyOptions(); colFamilyOptions.setTableFormatConfig(tableFormatConfig); byte[] tableNameKey = "trees".getBytes(Charsets.UTF_8); ColumnFamilyDescriptor columnDescriptor = new ColumnFamilyDescriptor(tableNameKey, colFamilyOptions); column = db.createColumnFamily(columnDescriptor); } catch (RocksDBException e) { throw Throwables.propagate(e); } writeOptions = new WriteOptions(); writeOptions.setDisableWAL(true); writeOptions.setSync(false); readOptions = new ReadOptions(); readOptions.setFillCache(false).setVerifyChecksums(false); }
@Override public ColumnFamilyOptions createColumnOptions() { return new ColumnFamilyOptions() .setMergeOperator(new StringAppendOperator()) .setCompactionStyle(CompactionStyle.LEVEL) .setLevelCompactionDynamicLevelBytes(true); } },
@Override public ColumnFamilyOptions createColumnOptions() { return new ColumnFamilyOptions() .setMergeOperator(new StringAppendOperator()); } };
private void createColumnFamily(final String name) throws RocksDBException { COLUMN_FAMILY_LOCKS.putIfAbsent(name, new ReentrantLock()); final Lock l = COLUMN_FAMILY_LOCKS.get(name); l.lock(); try { if(!COLUMN_FAMILIES.containsKey(name)) { final ColumnFamilyOptions cfOptions = new ColumnFamilyOptions().optimizeLevelStyleCompaction(); final ColumnFamilyHandle cfHandle = rocksDb.createColumnFamily( new ColumnFamilyDescriptor(name.getBytes(UTF_8), cfOptions) ); COLUMN_FAMILIES.put(name, new ColumnFamily(cfHandle, cfOptions)); } } finally { l.unlock(); } }
ColumnFamilyOptions.getColumnFamilyOptionsFromProps(cfProperties) : new ColumnFamilyOptions(); if (cfOptions == null) { throw new StorageInitializationException("Unable to parse Column Family Options.");
ColumnFamilyOptions cfOpts = new ColumnFamilyOptions() .useFixedLengthPrefixExtractor(8); // We always search using the initial long key
private static ColumnFamilyOptions createColumnFamilyOptions() { // Options which are used on all column families final ColumnFamilyOptions columnFamilyOptions = new ColumnFamilyOptions().optimizeUniversalStyleCompaction(); return columnFamilyOptions; } }
public static RocksDbKeyValueService create(String dataDir, Map<String, String> dbOptions, Map<String, String> cfOptions, WriteOpts writeOpts, String comparator) { DBOptions dbOpts = new DBOptions().setCreateIfMissing(true); setReflectionOpts(dbOpts, dbOptions); ColumnFamilyOptions cfMetadataOpts = new ColumnFamilyOptions(); setReflectionOpts(cfMetadataOpts, cfOptions); ColumnFamilyOptions cfCommonOpts; switch (comparator) { case "atlasdb-v2": cfCommonOpts = new ColumnFamilyOptions().setComparator(RocksComparator.INSTANCE); break; case "atlasdb": cfCommonOpts = new ColumnFamilyOptions().setComparator(RocksOldComparator.INSTANCE); break; default: throw new IllegalArgumentException("Unknown comparator " + comparator); } setReflectionOpts(cfCommonOpts, cfOptions); return create(dataDir, dbOpts, cfMetadataOpts, cfCommonOpts, writeOpts); }
@Override public ColumnFamilyOptions setCompactionStyle( final CompactionStyle compactionStyle) { setCompactionStyle(nativeHandle_, compactionStyle.getValue()); return this; }
@Override public ColumnFamilyOptions setWriteBufferSize(final long writeBufferSize) { assert(isOwningHandle()); setWriteBufferSize(nativeHandle_, writeBufferSize); return this; }