Giter Club home page Giter Club logo

CruzDB

Build Status


See https://makedist.com/projects/cruzdb/ for more information.

I love working on CruzDB and plan to resume work sometime in the future. But for now I'm spending 100% of my time building a next-generation storage engine for modern hardware at https://github.com/redpanda-data/redpanda.


CruzDB is a key-value database that stores all its data in a single, high-performance distributed shared-log. The database uses multi-version concurrency control for managing transactions. Each transaction in CruzDB reads from an immutable snapshot of the database. When a transaction finishes, all of the information required to replay the transaction---a reference to the snapshot, and a record of the its reads and writes---are packaged into an object called an intention which is then appended to the log. Any node with access to the log can replay the intentions in the order that they appear in the log, and deterministically reconstruct the database for any past state.

In order to avoid forcing all database nodes from having to store an entire copy of the database, fine-grained materialized views of the are stored in the log. This allows database nodes to selectively cache database state, while still providing on-demand access to any subset of the database by reading from the log.

If you are thinking that this sounds a lot like Hyder, then you're right! Many components of Hyder can be matched to analagous components in CruzDB and CruzDB tends to use the same language. But the systems do have fundamental differences in how the database is structured and how conflict detection is implemented. In the coming weeks we'll be publishing more details about the design of the system, so please stay tuned.

A little background (but a lot has changed since this post):

Build Notes

cmake -DZLOG_INSTALL_DIR=/../ .
make

CruzDB's Projects

ceph icon ceph

Ceph is a distributed object, block, and file storage platform

cruzdb icon cruzdb

Append-only key-value database on a distributed shared-log

pg_zlog icon pg_zlog

Table replication for PostgreSQL nodes with Ceph and ZLog

ycsb icon ycsb

CruzDB interface layer for YCSB

zlog icon zlog

A high-performance distributed shared-log for Ceph

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.