code: public static DBOptions buildDbOptions(int maxBackgroundFlushes, int maxBackgroundCompactions,
              int maxBackgroundThreads, long maxLogFileSize) {
          DBOptions dbOptions = new DBOptions();
          dbOptions.setCreateIfMissing(true).setCreateMissingColumnFamilies(true)
                  .setErrorIfExists(false);
          dbOptions.setMaxBackgroundFlushes(maxBackgroundFlushes)
                  .setMaxBackgroundCompactions(maxBackgroundCompactions)
                  .setIncreaseParallelism(maxBackgroundThreads);
          dbOptions.setAllowMmapReads(true).setAllowMmapWrites(true);
          dbOptions.setMaxOpenFiles(-1);
          dbOptions.setKeepLogFileNum(100).setLogFileTimeToRoll(3600)
                  .setMaxLogFileSize(maxLogFileSize);
          return dbOptions;
      }
docs: Builds RocksDb {@link DBOptions}.
  
  @param maxBackgroundFlushes
  high priority threads, usually 1 or 2 would be enough
  @param maxBackgroundCompactions
  low priority threads, between 1 - num_cpu_cores
  @param maxBackgroundThreads
  {@code >= maxBackgroundFlushes, maxBackgroundCompactions}
  @param maxLogFileSize
  if equal to {@code 0}, write all logs to one file and roll by time
  @return