forked from bohutang/nessDB
-
Notifications
You must be signed in to change notification settings - Fork 0
A fast key-value Database,Distributable B+Tree Structured Indexes , Level-LRU,and support Range-Query.
License
chenyukang/nessDB
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
================================================================
nessDB v1.7
(NOT ONLY DATABASE ENGINE)
Copyright (C) 2011 BohuTANG
================================================================
nessDB is written in ANSI C and works in most POSIX systems like Linux, *BSD, OS X and Solaris without external dependencies.
Key Features
=============
* Bloom filters for record presence detection
* Level-LRU for hot data caching,improve Random-Read
* Distributable B+Tree-Structured-Indexes
* Background IO for data flush to disk
* Support range queries
* Redis protocols support
Directory Tree
==================
./
./src/ - sources of nessDB
./BENCHMARK - benchmark results of nessDB
./LEVEL-LRU - nessDB's level-lru doc
./TODO - nessDB's todo list
./x/ - nessDB's network layer(via redis),very high-performance.
Interface
==========
* db_init(int bufferpool_size,int isbgsync,uint64_t *sum)
* db_get(const char *key)
* db_get_range(const char *begin,const char *end,struct nobj *obj,int *retcount)
* db_dump_keys(struct nobj *obj)
* db_add(const char *key,const char *value)
* db_update(const char *key,const char *value)
* db_remove(const char *key)
Very simple to use.
How to do BENCHMARK
==================
a, $cd src
b, $make
c, $./nessdb-bench add
If you want to remove all indexes and datas,please use "$make cleanall" shell command.
Start as server
===============
* $./nessdb-server
using redis-cli(or other redis's clients) to do some operations(Now support:PING,SET,GET,DEL commands).
Thanks.
== END OF FILE ==
About
A fast key-value Database,Distributable B+Tree Structured Indexes , Level-LRU,and support Range-Query.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published