All Projects → heineiuo → rippledb

heineiuo / rippledb

Licence: MIT license
Embeddable key-value database engine in pure TypeScript, based on LSM-Tree

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to rippledb

pgrocks-fdw
Bring RocksDB to PostgreSQL as an extension. It is the first foreign data wrapper (FDW) that introduces LSM-tree into PostgreSQL. The underneath storage engine can be RocksDB. The FDW also serves for VidarDB engine, a versatile storage engine for various workloads. See the link for more info about VidarDB engine.
Stars: ✭ 101 (+206.06%)
Mutual labels:  rocksdb, storage-engine, leveldb, lsm-tree
database-engine
LSM-Tree Key-Value Store based on RocksDB
Stars: ✭ 47 (+42.42%)
Mutual labels:  rocksdb, database-engine, lsm-tree
Pebblesdb
The PebblesDB write-optimized key-value store (SOSP 17)
Stars: ✭ 362 (+996.97%)
Mutual labels:  leveldb, key-value-store
maricutodb
PHP Flat File Database Manager
Stars: ✭ 23 (-30.3%)
Mutual labels:  storage-engine, key-value-store
Benchmarks
Benchmark of open source, embedded, memory-mapped, key-value stores available from Java (JMH)
Stars: ✭ 116 (+251.52%)
Mutual labels:  rocksdb, leveldb
lmdb-js
Simple, efficient, ultra-fast, scalable data store wrapper for LMDB
Stars: ✭ 270 (+718.18%)
Mutual labels:  key-value-store, deno
SwiftLvDB
A fast key-value storage library , leveldb for swift
Stars: ✭ 14 (-57.58%)
Mutual labels:  leveldb, key-value-store
Fastonosql
FastoNoSQL is a crossplatform Redis, Memcached, SSDB, LevelDB, RocksDB, UnQLite, LMDB, ForestDB, Pika, Dynomite, KeyDB GUI management tool.
Stars: ✭ 1,001 (+2933.33%)
Mutual labels:  rocksdb, leveldb
skytable
Skytable is an extremely fast, secure and reliable real-time NoSQL database with automated snapshots and TLS
Stars: ✭ 696 (+2009.09%)
Mutual labels:  database-engine, key-value-store
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+5072.73%)
Mutual labels:  rocksdb, leveldb
Level Rocksdb
A convenience package bundling levelup and rocksdb.
Stars: ✭ 120 (+263.64%)
Mutual labels:  rocksdb, leveldb
Rocksdb
Pure C++ Node.js RocksDB binding. An abstract-leveldown compliant store.
Stars: ✭ 138 (+318.18%)
Mutual labels:  rocksdb, leveldb
Pomegranate
🌳 A tiny skiplist based log-structured merge-tree written in Rust.
Stars: ✭ 20 (-39.39%)
Mutual labels:  lsm, lsm-tree
Srchx
A standalone lightweight full-text search engine built on top of blevesearch and Go with multiple storage (scorch, boltdb, leveldb, badger)
Stars: ✭ 118 (+257.58%)
Mutual labels:  rocksdb, leveldb
ssdb
SSDB - A fast NoSQL database, an alternative to Redis
Stars: ✭ 8,026 (+24221.21%)
Mutual labels:  rocksdb, leveldb
rust-rocks
Make RocksDB really rocks! The Rust style API.
Stars: ✭ 41 (+24.24%)
Mutual labels:  rocksdb, lsm-tree
microdiff
A fast, zero dependency object and array comparison library. Significantly faster than most other deep comparison libraries and has full TypeScript support.
Stars: ✭ 3,138 (+9409.09%)
Mutual labels:  deno
beryldb
BerylDB is a fully modular data structure data manager that can be used to store data as key-value entries. The server allows channel subscription and is optimized to be used as a cache repository. Supported structures include lists, sets, multimaps, and keys.
Stars: ✭ 201 (+509.09%)
Mutual labels:  rocksdb
nanoid
A NanoID implementation for Deno
Stars: ✭ 63 (+90.91%)
Mutual labels:  deno
deno-csv
Streaming API for reading and writing CSV for https://deno.land/
Stars: ✭ 34 (+3.03%)
Mutual labels:  deno

Rippledb · GitHub Actions status Coverage status npm version Join the chat at https://gitter.im/heineiuo/rippledb

Rippledb is an embeddable key-value database engine in pure TypeScript, based on LSM-Tree, Inspired by LevelDB.

  • Pure TypeScript: Rippledb is totally written in TypeScript, and runs on different platforms after being compiled to JavaScript.
  • Lightweight: Rippledb has only 7k+ source code, and smaller than 1MB after compiled.Rippledb use zero third party modules.
  • Embeddable: Rippledb can be embedded in node.js application (or other JavaScript Runtime Environments) very easily.

Installation

Install with npm:

npm install rippledb

Install with Yarn:

yarn add rippledb

Documentation

You can find the React documentation on the website.

Check out the Get Started page for a quick overview.

Examples

import path from 'path'
import { Database } from 'rippledb'

async function main(){
  const db = new Database(path.resolve(__dirname, './db'))
  await db.put('foo', 'bar')
  console.log(
    new TextDecoder().decode(await db.get('foo'))
  ) // 'bar'
}

main()

Roadmap

  • Release 1.0 (2020-7-7)
  • Support Deno (2020-9-1)

Benchmark

environment : GitHub Action
key         : 16 bytes
value       : 100 bytes
total       : 10000
runners     : 10 
fillrandom  : 823.87 ms total; 82.39 us/op

Compatibility

node.js Deno
>=v10.0.0 WIP

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].