DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

LedisDB


Source Code
https://github.com/ledisdb/ledisdb[02]
Developer
Country of Origin
CN
Start Year
2014 [14]
Project Type
Open Source
Written in
Go
Supported Languages
C, Go, JavaScript, Lua, Python
Derived From
LevelDB, RocksDB
Inspired By
SSDB
Compatible With
Redis
Operating Systems
Linux, macOS
License
MIT License

Database Entry

LedisDB


Compression[04]


LedisDB uses RocksDB, LevelDB or goleveldb(a LevelDB implementation in Go) as storage engine. You can enable their compression feature by configuration.

Data Model[05]


LedisDB is a key/value store, but has rich data structures. In addition to simple key/value pair, it provides Hash, List, Set, ZSet.

Joins[06]


As a key/value store, no join feature is provided in LedisDB.

Query Compilation[07]


Query Execution[08]


LedisDB uses iterators in query processing.

Query Interface[05][06]


LedisDB can be embedded in Go programs and programs can use its API to perform queries. LedisDB also provides a query interface in redis protocol called RESP(REdis Serialization Protocol), and can be queried via redis-cli. LedisDB has HTTP API support, too.

Storage Architecture[09]


LedisDB uses RocksDB, LevelDB or goleveldb(a LevelDB implementation in Go) as storage engine and thus inherits their storage architecture. It also provides an option to use memory-backed storage (via goleveldb).

Storage Model[09]


LedisDB uses RocksDB, LevelDB or goleveldb(a LevelDB implementation in Go) as storage engine and thus inherits their storage model. Data are stored in the form of ordered key-value pairs.

Storage Organization[09]


LedisDB uses RocksDB, LevelDB or goleveldb(a LevelDB implementation in Go) as storage engine. Therefore, it inherits their Log-structured storage organization.

Stored Procedures[10]


LedisDB does not support stored procedures, but like Redis, it provides the capability to evaluate scripts using the bulit-in Lua interpreter. Scripts will be cached by LedisDB and can be invoked from the cache later. However, they are just cached rather than stored.

System Architecture[11][12][13]


LedisDB can be embedded in Go programs. You can also run LedisDB as independent servers. Each server does not share anything with others and only communicates with each other through network connection.

Views[06]


Embeddings
IceFireDB IceFireDB
Revision #11