Skip to content
forked from BohuTANG/nessDB

A fast key-value Database(Using LSM-Tree storage engine),and support Redis-Protocol(PING,SET,MSET,GET,MGET,DEL,EXISTS,INFO),nessDB=mc²

License

Notifications You must be signed in to change notification settings

ooXavier/nessDB

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

================================================================
nessDB v1.8 with LSM-Tree && B+Tree 
Copyright (C) 2011 BohuTANG________________ 
_____________________________  __ \__  __ )
__  __ \  _ \_  ___/_  ___/_  / / /_  __  |
_  / / /  __/(__  )_(__  )_  /_/ /_  /_/ / 
/_/ /_/\___//____/ /____/ /_____/ /_____/  
================================================================

  nessDB is a fast Key-Value database, supports Redis-Protocol(PING,SET,MSET,GET,MGET,DEL,EXISTS,INFO).
  Which is written in ANSI C with BSD LICENSE and works in most POSIX systems without external dependencies.
  The 1.8 version is still under construction.

  LAYOUT
  ======
  (1) mtable : which is a sorted 'LSM-Tree' in memory and active for  recently ADD/UPDATE/DELETE operations.
  (2) log : mtable's snapshot on-disk for data-recover.
  (3) on-disk-index : B+Tree structured indices.

  V1.8 FEATURES
  =============
  a. Better performance on Random-Read/Random-Write
  b. Log recover
  c. Using LSM-Tree && B+Tree

  HOW TODO
  ========
  $make db-bench
  $db-bench add

  BENCHMARK
  =========
  Keys:		16 bytes each
  Values:		80 bytes each
  Entries:	5000000
  IndexSize:	114.4 MB (estimated)
  DataSize:	400.5 MB (estimated)
  --------------------------------------------------------------------------------------------------------------
  nessDB:		version 1.8.1(LSM-Tree && B+Tree with Level-LRU,Page-Cache)
  Date:		Sun Nov 27 18:19:47 2011
  CPU:		2 *  Intel(R) Pentium(R) Dual  CPU  T3200  @ 2.00GHz
  CPUCache:	1024 KB

  +-----------------------+---------------------------+----------------------------------+---------------------+
  |Random-Write	(done:4999999): 0.000020 sec/op; 50660.5 writes/sec(estimated); 5.2 MB/sec; cost:98.696(sec)
  +-----------------------+---------------------------+----------------------------------+---------------------+
  |Random-Read	(found:0): 0.000119 sec/op; 8382.7 reads /sec(estimated); 0.9 MB/sec; cost:2.386(sec)
  +-----------------------+---------------------------+----------------------------------+---------------------+
  |Seq-Read	(found:0): 0.000119 sec/op; 8417.3 reads /sec(estimated); 0.9 MB/sec; cost:2.376(sec)
  +-----------------------+---------------------------+----------------------------------+---------------------+

  Thanks for your attention!

About

A fast key-value Database(Using LSM-Tree storage engine),and support Redis-Protocol(PING,SET,MSET,GET,MGET,DEL,EXISTS,INFO),nessDB=mc²

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 100.0%