All Projects → tomarrell → Lbadd

tomarrell / Lbadd

Licence: mit
LBADD: An experimental, distributed SQL database

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Lbadd

Toydb
Distributed SQL database in Rust, written as a learning project
Stars: ✭ 1,329 (+267.13%)
Mutual labels:  sql, database, distributed
Eventql
Distributed "massively parallel" SQL query engine
Stars: ✭ 1,121 (+209.67%)
Mutual labels:  sql, database, distributed
Crate
CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of data in real-time.
Stars: ✭ 3,254 (+798.9%)
Mutual labels:  sql, database, distributed
Trilogy
TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.
Stars: ✭ 195 (-46.13%)
Mutual labels:  hacktoberfest, sql, database
Tidb
TiDB is an open source distributed HTAP database compatible with the MySQL protocol
Stars: ✭ 29,871 (+8151.66%)
Mutual labels:  hacktoberfest, sql, database
Herddb
A JVM-embeddable Distributed Database
Stars: ✭ 192 (-46.96%)
Mutual labels:  sql, database, distributed
Rel
💎 Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
Stars: ✭ 317 (-12.43%)
Mutual labels:  hacktoberfest, sql, database
Cockroach
CockroachDB - the open source, cloud-native distributed SQL database.
Stars: ✭ 22,700 (+6170.72%)
Mutual labels:  hacktoberfest, sql, database
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+2030.39%)
Mutual labels:  hacktoberfest, sql, database
Liquibase
Main Liquibase Source
Stars: ✭ 2,910 (+703.87%)
Mutual labels:  hacktoberfest, sql, database
Squeal
Squeal, a deep embedding of SQL in Haskell
Stars: ✭ 308 (-14.92%)
Mutual labels:  sql, database
Squeal
A Swift wrapper for SQLite databases
Stars: ✭ 303 (-16.3%)
Mutual labels:  sql, database
Preql
An interpreted relational query language that compiles to SQL.
Stars: ✭ 257 (-29.01%)
Mutual labels:  sql, database
Ansible Role Postgresql
Ansible Role - PostgreSQL
Stars: ✭ 310 (-14.36%)
Mutual labels:  sql, database
Altair
✨⚡️ A beautiful feature-rich GraphQL Client for all platforms.
Stars: ✭ 3,827 (+957.18%)
Mutual labels:  hacktoberfest, database
Php Sql Query Builder
An elegant lightweight and efficient SQL Query Builder with fluid interface SQL syntax supporting bindings and complicated query generation.
Stars: ✭ 313 (-13.54%)
Mutual labels:  sql, database
Freezer
A simple & fluent Android ORM, how can it be easier ? RxJava2 compatible
Stars: ✭ 326 (-9.94%)
Mutual labels:  sql, database
Text2sql Data
A collection of datasets that pair questions with SQL queries.
Stars: ✭ 287 (-20.72%)
Mutual labels:  sql, database
Monetdb Old
This is the official mirror of the MonetDB Mercurial repository. Please note that we do not accept pull requests on github. The regression test results can be found on the MonetDB Testweb http://monetdb.cwi.nl/testweb/web/status.php .For contributions please see: https://www.monetdb.org/Developers
Stars: ✭ 317 (-12.43%)
Mutual labels:  sql, database
Bitraft
🎉A Bitcask Distributed Key/Value store using Raft for consensus with a Redis compatible API written in Go.
Stars: ✭ 348 (-3.87%)
Mutual labels:  database, distributed

LBADD

Let's build a distributed database.



LBADD is an experimental distributed SQL database, written in Go.

The goal of this project is to build a database from scratch which is well documented, fully tested, and easy to understand. Implementing as much as possible from the ground up.

It is also currently a work in progress. Feel free to follow along with the development of each component, from parser to pager.

Architecture

The database is made up of a few separate components. These handle the SQL parsing, the intermediary representation generation, the multi-node consensus, the execution of the IR, and the (persistent) storage.

For a brief overview of the purpose of each component, have a look at the overview.

Prior art

Inspiration has been taken from the brilliantly documented codebase of SQLite. However the codebase has been heavily optimized, and is difficult to follow without spending significant time.

Work has also already been done to build a distributed version of SQLite called rqlite. The project uses raft consensus in order to keep nodes consistent across the network.

LBADD aims to replicate these in a single project. LBADD doesn't aim to be nearly as performant as SQLite nor rqlite, and hopefully trades this instead for slightly more clarity and simplicity.

Contributing

Contributors are more than welcome and much appreciated. Please feel free to open a PR to improve anything you don't like, or would like to add. No PR is too small! Go check out our contributing guide for more detailed info about how to get started with a contribution.

License

This project is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].