Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gutobortolozzo/node-lsm
log structured merge tree in pure node.js
https://github.com/gutobortolozzo/node-lsm
Last synced: 2 months ago
JSON representation
log structured merge tree in pure node.js
- Host: GitHub
- URL: https://github.com/gutobortolozzo/node-lsm
- Owner: gutobortolozzo
- License: mit
- Created: 2015-09-13T02:04:16.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-09-16T23:19:33.000Z (over 9 years ago)
- Last Synced: 2024-08-02T00:21:50.603Z (6 months ago)
- Language: JavaScript
- Size: 203 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nodejs-pure-js - node-lsm
README
# WIP
[![Build Status](https://travis-ci.org/gutobortolozzo/node-lsm.svg?branch=master)](https://travis-ci.org/gutobortolozzo/node-lsm)
# LSM, a log-structured-merge-tree, implemented in node.js.
``` js
var lsm = Subject('/tmp/example', {
threshold : 1000 //optional
});lsm.open().then(function(){
return lsm.put('#12345', 'hello');
}).then(function(){
return lsm.get('#12345');
}).then(function(result){
console.log('result', result); // hello
});
```everything is just line separated json!
``` js
cat /tmp/example/log-00000001.json
```contains this.
``` js
{"key":"hello","value":"HI","type":"put"}
{"key":"what","value":"WHO","type":"put"}
```put more data in there and you'll get ```SST``` files.
# Features
- ```PUT``` string key/value
- ```GET``` string key/value
- ```DEL``` string key/value# TODO
- Support multiple lsm's opened pointing to the same data folder.
- All operations promisify