sharding-sphere - Distributed database middleware

  •        58

Distributed database middleware ecosphere

https://github.com/sharding-sphere/sharding-sphere
http://shardingsphere.io

Dependencies:

com.google.guava:guava:18.0
org.slf4j:slf4j-api:1.7.7
org.slf4j:jcl-over-slf4j:1.7.7
org.codehaus.groovy:groovy:2.4.5
org.yaml:snakeyaml:1.16
io.netty:netty-all:4.1.16.Final
commons-codec:commons-codec:1.10
javax.transaction:jta:1.1
com.atomikos:transactions:4.0.4
com.atomikos:transactions-jta:4.0.4
com.atomikos:transactions-jdbc:4.0.4
org.apache.curator:curator-framework:2.10.0
org.apache.curator:curator-client:2.10.0
org.apache.curator:curator-recipes:2.10.0
io.grpc:grpc-netty:1.7.0
io.grpc:grpc-protobuf:1.7.0
io.grpc:grpc-stub:1.7.0
com.github.rholder:guava-retrying:2.0.0
io.opentracing:opentracing-util:0.30.0
org.projectlombok:lombok:1.16.4
org.springframework:spring-context-support:[4.3.6.RELEASE,5.0.0.M1)
org.springframework.boot:spring-boot-starter:[1.5.0.RELEASE,2.0.0.M1)
org.springframework.boot:spring-boot-configuration-processor:[1.5.0.RELEASE,2.0.0.M1)

Tags
Implementation
License
Platform

   




Related Projects

radon - RadonDB is an open source, cloud-native MySQL database for building global, scalable cloud services

  •    Go

RadonDB is an open source, Cloud-native MySQL database for unlimited scalability and performance. RadonDB is a cloud-native database based on MySQL,and architected in fully distributed cluster that enable unlimited scalability (scale-out), capacity and performance. It supported distributed transaction that ensure high data consistency, and leveraged MySQL as storage engine for trusted data reliability. RadonDB is compatible with MySQL protocol, and sup-porting automatic table sharding as well as batch of automation feature for simplifying the maintenance and operation workflow.

sharding-sphere-example - Sharding-Sphere examples

  •    Java

Sharding-Sphere example. Please do not use dev branch to run your example, example of dev branch is not released yet.

octopus - Database Sharding for ActiveRecord

  •    Ruby

Octopus is a better way to do Database Sharding in ActiveRecord. Sharding allows multiple databases in the same rails application. While there are several projects that implement Sharding (e.g. DbCharmer, DataFabric, MultiDb), each project has its own limitations. The main goal of octopus project is to provide a better way of doing Database Sharding. The api is designed to be simple as possible. Octopus focuses on the end user, giving the power of multiple databases but with reliable code and flexibility. Octopus is compatible with Rails 4 and Rails 5.

Vitess - Database clustering system for horizontal scaling of MySQL

  •    Go

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds. Vitess has been a core component of YouTube's database infrastructure since 2011, and has grown to encompass tens of thousands of MySQL nodes.


Citus - Scalable PostgreSQL for multi-tenant and real-time workloads

  •    C

Citus is a distributed database that scales across commodity servers using transparent sharding and replication. Citus extends the underlying database rather than forking it, giving developers and enterprises the power and familiarity of a relational database. As an extension, Citus supports new PostgreSQL releases, and allows you to benefit from new features while maintaining compatibility with existing PostgreSQL tools.

Cobar - Proxy for sharding databases and tables

  •    Java

Cobar is a proxy for sharding databases and tables,compatible with MySQL protocal and MySQL SQL grama,underlying storage only support MySQL for support foreground business more simple,stable,efficient and safety。

Bagri - XML/Document DB on top of distributed cache

  •    Java

Bagri is a Document Database built on top of distributed cache solution like Hazelcast or Coherence. The system allows to process semi-structured schema-less documents and perform distributed queries on them in real-time. It scales horizontally very well with use of data sharding, when all documents are distributed evenly between distributed cache partitions.

Vitess - Database clustering system for horizontal scaling of MySQL

  •    Go

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds.

CUBRID - RDBMS Optimized for Web

  •    C++

CUBRID is a relational database management system highly optimized for Web Applications, especially when complex web services process large amount of data and generate huge concurrent requests. CUBRID is being developed in C/C++. Includes HA, online incremental backup, Replication, Load balancing, Sharding, Caching and other features. It supports JDBC, PHP, ODBC/.NET, Ruby & Python APIs.

MaxScale - An intelligent database proxy

  •    C++

The MariaDB Corporation MaxScale is an intelligent proxy that allows forwarding of database statements to one or more database servers using complex rules, a semantic understanding of the database statements and the roles of the various servers within the backend cluster of databases. It extends the high availability, scalability, and security of MariaDB Server while at the same time simplifying application development by decoupling it from underlying database infrastructure.

Kong - The Microservice API Gateway

  •    Lua

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications

  •    Go

Ringpop is a library that brings cooperation and coordination to distributed applications. It maintains a consistent hash ring on top of a membership protocol and provides request forwarding as a routing convenience. It can be used to shard your application in a way that's scalable and fault tolerant.to install remaining golang dependencies and install the pre-commit hook.

incubator-shardingsphere-example - Sharding-Sphere examples

  •    Java

ShardingSphere example. Please do not use dev branch to run your example, example of dev branch is not released yet.

redis-shard - Redis sharding client library

  •    Python

A Redis sharding implementation. Redis is great. It's fast, lightweight and easy to use. But when we want to store a mass of data into one single instance, we may encounter some problems such as performance degradation and slow recovery and we need to scale it.

Dynomite - Making Non-Distributed Databases, Distributed

  •    C

Dynomite, inspired by Dynamo whitepaper, is a thin, distributed dynamo layer for different storages and protocols. Dynomite is a sharding and replication layer. Dynomite can make existing non distributed datastores, such as Redis or Memcached, into a fully distributed & multi-datacenter replicating datastore.

RethinkDB - Distributed JSON database

  •    C++

RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn. It supports JSON data model, Distributed joins, subqueries, aggregation, atomic updates, Hadoop-style map/reduce.

Apache Trafodion - Webscale SQL-on-Hadoop solution enabling transactional or operational workloads on Apache Hadoop.

  •    C++

Apache Trafodion is a webscale SQL-on-Hadoop solution enabling transactional or operational workloads on Apache Hadoop. Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data applications to run on Hadoop.