GithubHelp home page GithubHelp logo

opendb's Introduction

OpenDB

Based on LSM tree-structured database with up to 100,000 data writes per second.

introduce

  1. Developed using the LSM architecture
  2. Serialization and deserialization of data in the form of ProtoBuf
  3. Use direct memory to reduce one copy of the IO process
  4. Memory structure support Bloom filters, jump tables
  5. Multi-threaded read/write support
  6. Use of buffer pools to increase read efficiency
  7. Supports Size-tire compression and Level compression
  8. Support repeatable reads, read committed isolation level.
  9. Optimize SSTable, Key and Value separation.
  10. Write metadata twice to prevent complete data loss
  11. Support for version snapshots
  12. Optimistic locking and pessimistic locking transactions.

example


    openDB = OpenDBImp.open(new Options(),"src/test/resources/data/");
    ColumnFamilyDescriptor columnFamilyDescriptor= new ColumnFamilyDescriptor();
    columnFamilyDescriptor.setName("luoluoyuyu");
    columnFamilyDescriptor.setKeyType(KeyType.intKey);
    columnFamilyDescriptor.setValueType(ValueType.intValue);
    columnFamilyDescriptor.setBlockSize(1<<12);
    openDB.createColumnFamily(columnFamilyDescriptor);
    columnFamilyHandle=openDB.getColumnFamilyHandle("luoluoyuyu").date;

    Key key = new IntKey(1);
    Value value = new IntValue(1);

    openDB.put(key, value, columnFamilyHandle);

benchmark

On an average PC, writes can be up to 130,000 per second and reads up to 510,000 per second.

Benchmark                     Mode  Cnt       Score   Error  Units
OpenDBBenchmark.addKeyValue  thrpt       134061.544          ops/s
OpenDBBenchmark.getKeyValue  thrpt       512352.366          ops/s

opendb's People

Contributors

luoluoyuyu avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

opendb's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.