RiakLevelDBOutlineWhy log structure? Riak: log-structure hash tableRethinkdb: log-structure b-treeLeveldb: log-structure merge treeConclusionRethinkDB
Outline • Why log structure? • Riak: log-structure hash table • Rethinkdb: log-structure b-tree • Leveldb: log-structure merge tree • Conclusion
RiakLevelDBRiak ?Riak is an open source, highly scalable, fault-tolerantdistributed database.Supported core features:-operate in highly distributedenvironments2160C-no singlepointoffailuresingle vnode/partitior- highly fault-tolerantnodeonodel-scalessimplyandintelligently←2160/4a ring with 32 partitionsnode2- highly data availablenode3-low costof operationshash(<<"artist">>,<<"REM">>2160/2RethinkDB
Riak ? • Riak is an open source, highly scalable, fault-tolerant distributed database. • Supported core features: - operate in highly distributed environments - no single point of failure - highly fault-tolerant - scales simply and intelligently - highly data available - low cost of operations
RiakLeelDBBitcask. A Bitcask instance is a directory, and only oneoperating system process will open that Bitcask forwriting at a given time.The active file is only written by appending, whichmeans that sequential writes do not require diskseeking.kszvalue_szkeyvaluecrctstampvalue_szvaluetstampkszkeycrckeykszvalue_szvaluecrctstampactivedatafilecrctstampkszvalue szkeyvaluecrctstampkeykszvalue_szvaluecrctstamporderdatafile32-bitintlocaltimeskeykszvalue_szvalue(internal-only.note)crctstamporderdatafilekszvalue_szkeyvaluecrctstampkszvalue_szkeyvaluecrctstampRethinkDB
Bitcask • A Bitcask instance is a directory, and only one operating system process will open that Bitcask for writing at a given time. • The active file is only written by appending, which means that sequential writes do not require disk seeking