Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 1.66 KB

README.md

File metadata and controls

55 lines (41 loc) · 1.66 KB

node-level

GitHub Actions status Coverage status npm version Join the chat at https://gitter.im/heineiuo/node-level

A pure node.js implementation of LSM(log structured merge tree) based storage engine(inspired by leveldb).

Get started

Use in JavaScript or TypeScript:

const path = require('path')
const { Database } = require('node-level') // install from npm

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

main()

For more details, see documention

Roadmap

  • TableBuilder
  • TableReader
  • TableCache
  • BlockCache
  • LogWriter
  • LogReader
  • WriteBatch
  • MemTable
  • Database Recovery
  • Version Manager
  • Compaction
  • Top-level API (put, get, del, batch, iterator, compactRange, ok)

Benchmark

TableBuilder:

SSTableBuilder 50000 records: 1260.794ms