TerarkDB is an open source NoSQL data store based on terark storage engine.
TerarkDB is:
- Read optimized, faster than ever.
- Data is highly compressed and decompressed is not required before read.
- Use FSA and succinct technologies, totally different from B+ and LSM(Which is widely used in other data stores).
- Native support for regex expression query.
- Benchmark
- High Compression Ratio
- Higher than snappy(2~5 times) and other database products, higher than gzip, sometimes higher than bzip
- Search Directly on Compressed Data without Decompression
- Compressed data as index, index as compressed data
- Fast Access
- Optimized for SSD and in-memory workloads
- Flexible Indexing
- Multiple indexes on one table
- Unique/non-unique index
- Composite index(one index on multiple columns)
- Ordered index (support range query)
- Native regular expression query
- Embeddable & Standalone Database
- Persistent
- Schema Based, with Rich Data Types
- Column Group
- Supported Platforms: Linux, Windows, Mac
- Transparent foundation for developers to build customized products
- libboost_system.so(1.60.0) (boost_1_60_0)
- libboost_filesystem(1.60.0)(Could be found in boost_1_60_0)
- libwiredtiger.so(v2.8.0)
- libtbb.so(tbb44_20160128)
- Linux :
g++-4.8
,g++-4.9
,g++-5.3
,g++-6.1
- Mac OS :
g++-4.8
,g++-4.9
,g++-5.3
,g++-6.0
,clang++-7.3
- Windows :
vs2015
- TerarkDB is open source but our core data structures and algorithms(
dfadb
) are not yet. dfadb
is supported by a library namedfsa_all_*
in our released packages.- Developers who want to build their own TerarkDB, should place the
fsa_all-*
library into their library search path(e.g./usr/local/lib
). - Self compiled TerarkDB can only uses limited APIs, and need to set
"TableClass" : "MockDbTable"
indbmeta.json
(TerarkDB's schema file).
- UNIX
fork()
should not be called in the applications using TerarkDB, this would cause undefined behaviors.
TerarkDB follows Free Software Foundation's GNU AGPL v3.0
For commercial purposes, please contact us.