All Projects → diennea → Herddb

diennea / Herddb

Licence: apache-2.0
A JVM-embeddable Distributed Database

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Herddb

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 (+1594.79%)
Mutual labels:  sql, database, distributed-database, distributed
Eventql
Distributed "massively parallel" SQL query engine
Stars: ✭ 1,121 (+483.85%)
Mutual labels:  sql, database, distributed-database, distributed
Cockroach
CockroachDB - the open source, cloud-native distributed SQL database.
Stars: ✭ 22,700 (+11722.92%)
Mutual labels:  sql, database, distributed-database
Citus
Distributed PostgreSQL as an extension
Stars: ✭ 5,580 (+2806.25%)
Mutual labels:  sql, database, distributed-database
Reiner
萊納 - A MySQL wrapper which might be better than the ORMs and written in Golang
Stars: ✭ 19 (-90.1%)
Mutual labels:  sql, database, replication
Trino
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Stars: ✭ 4,581 (+2285.94%)
Mutual labels:  sql, database, distributed-database
Lbadd
LBADD: An experimental, distributed SQL database
Stars: ✭ 362 (+88.54%)
Mutual labels:  sql, database, distributed
Tidb
TiDB is an open source distributed HTAP database compatible with the MySQL protocol
Stars: ✭ 29,871 (+15457.81%)
Mutual labels:  sql, database, distributed-database
Toydb
Distributed SQL database in Rust, written as a learning project
Stars: ✭ 1,329 (+592.19%)
Mutual labels:  sql, database, distributed
Interference
opensource distributed database with base JPA implementation and event processing support
Stars: ✭ 57 (-70.31%)
Mutual labels:  sql, database, distributed-database
Dbtester
Distributed database benchmark tester
Stars: ✭ 214 (+11.46%)
Mutual labels:  zookeeper, database, distributed-database
Radon
RadonDB is an open source, cloud-native MySQL database for building global, scalable cloud services
Stars: ✭ 1,584 (+725%)
Mutual labels:  sql, database, distributed-database
Shardingsphere
Build criterion and ecosystem above multi-model databases
Stars: ✭ 14,989 (+7706.77%)
Mutual labels:  sql, database, distributed-database
Yugabyte Db
The high-performance distributed SQL database for global, internet-scale apps.
Stars: ✭ 5,890 (+2967.71%)
Mutual labels:  sql, database, distributed-database
Rqlite
The lightweight, distributed relational database built on SQLite
Stars: ✭ 9,147 (+4664.06%)
Mutual labels:  sql, database, distributed-database
Zookeeper
Apache ZooKeeper
Stars: ✭ 10,061 (+5140.1%)
Mutual labels:  zookeeper, database, distributed-database
Olric
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.
Stars: ✭ 2,067 (+976.56%)
Mutual labels:  database, distributed-database, distributed
Sqldb Logger
A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.
Stars: ✭ 160 (-16.67%)
Mutual labels:  sql, database
Sqlservice
The missing SQLAlchemy ORM interface.
Stars: ✭ 159 (-17.19%)
Mutual labels:  sql, database
Ohmysql
Easy direct access to your database 🎯 http://oleghnidets.github.io/OHMySQL/
Stars: ✭ 166 (-13.54%)
Mutual labels:  sql, database

Build Status Coverage Status

What is HerdDB ?

HerdDB is a distributed Database, data is distributed among a cluster of server without the need of a shared storage.

HerdDB primary language is SQL and clients are encouraged to use both the JDBC Driver API and the low level API.

HerdDB is embeddable in any Java Virtual Machine, each node will access directly to local data without the use of the network.

HerdDB replication functions are built upon Apache ZooKeeper and Apache BookKeeper.

HerdDB is internally very similar to a NoSQL database and, basically, it is a key-value DB with an SQL abstraction layer which enables every user to leverage existing known-how and to port existing applications.

HerdDB has been designed for fast "writes" and for primary key read/update data access patterns.

HerdDB supports transactions and "committed read" isolation level

HerdDB uses Apache Calcite as SQL parser and SQL Planner

Basic concepts

Data, as in any SQL database, is organized in tables and tables are grouped inside Tablespaces.

A Tablespace is the fundamental architectural brick upon which the replication is built and some DB features are available only among tables of the same tablespace:

  • transactions may span only tables of the same tablespace
  • subqueries may span only tables of the same tablespace

Replication is configured at tablespace level, so for each tablespace only one server is designed to be the 'leader' (manager) at a specific point in time, then you may configure a set of 'replicas'. The system automatically replicates data between replicas and handles server failures transparently.

Overview

Intoducing HerdDB - Pulsar Summit 2020 - Enrico Olivelli

Intoducing HerdDB - Youtube link

Other talks and deep dives

Getting Involved

Join the mailing list

License

HerdDB is under Apache 2 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].