Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/heineiuo/rippledb

Embeddable key-value database engine in pure TypeScript, based on LSM-Tree
https://github.com/heineiuo/rippledb

database database-engine deno javascript key-value-store leveldb lsm lsm-tree nodejs pure-javascript pure-typescript rippledb rocksdb storage-engine typescript

Last synced: about 1 month ago
JSON representation

Embeddable key-value database engine in pure TypeScript, based on LSM-Tree

Lists

README

        

# [Rippledb](https://rippledb.github.io/) · 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](https://rippledb.github.io).

Check out the [Get Started](https://rippledb.github.io/docs/) page for a quick overview.

## Examples

```ts
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

- [x] Release 1.0 (2020-7-7)
- [ ] Support [Deno](https://deno.land) (2020-9-1)

## Benchmark

```log
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](./LICENSE)