sanjosh / blsm Goto Github PK
View Code? Open in Web Editor NEWThis project forked from sears/blsm
Read- and latency-optimized log structured merge tree
License: Apache License 2.0
This project forked from sears/blsm
Read- and latency-optimized log structured merge tree
License: Apache License 2.0
bLSM initial release ==================== This is an initial release of bLSM, which is scheduled to appear in Sigmod 2012. bLSM is a general-purpose log structured merge tree that targets highly-available, scalable, key-value storage systems. We have been careful to minimize the number of seeks performed by read and scan optimizations, and have introduced a new spring-and-gear "level scheduler" that bounds write latencies. The implementation is currently geared toward performance testing, and has a number of limitations that we plan to address in short order: * Recovery does not work until after enough data has been inserted to start filling disk with data. * bLSM does not take advantage of write skew to reduce write amplification. As a side effect, certain heavily skewed workloads will lead to unacceptably write latencies. We plan to address this by partitioning the state on disk, and scheduling merges based on the heat of each partition. In the mean time, feel free to drop me a line! Licensing ========= bLSM uses several 3rd party open source libraries and tools. This file summarizes the tools used, their purpose, and the licenses under which they're released. Portions of bLSM are based upon Stasis' "Rose" LSM-Tree implementation. http://code.google.com/p/stasis/source/browse/trunk/benchmarks/rose.cpp Except as specifically stated below, the 3rd party software packages listed below are not distributed as part of this project, but instead are separately downloaded from the respective provider and built on the developer’s machine as a pre-build step. bLSM relies upon Stasis, a transactional storage library written and maintained by the authors of bLSM. TCL/TK license (BSD-style) http://code.google.com/p/stasis/source/browse/trunk/COPYING http://code.google.com/p/stasis/ bLSM includes an example MapKeeper-compatible storage server, which relies upon the MapKeeper prototocol specification, which we also maintain: https://github.com/m1ch1/mapkeeper Apache 2.0 license: https://github.com/m1ch1/mapkeeper/blob/master/LICENSE.txt The generated MapKeeper files (and, therefore the bLSM MapKeeper bindings) also require Thrift and Boost. Thrift is a serialization and RPC framework: http://thrift.apache.org/ Apache 2.0 license: http://svn.apache.org/viewvc/thrift/trunk/LICENSE?view=markup Boost is a collection of utility libraries for C++: http://www.boost.org/ Boost Software License: http://www.boost.org/users/license.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.