Galera - Cluster for MySQL and MariaDB

  •        91

Galera cluster provides distributed, multi master support for MySQL and MariaDB. Its feature include Synchronous Replication, True Multi-master, Active-Active Cluster Read and write to any node at any time, Automatic Node Provisioning, Multi-threaded Slave and lot more.

Galera Cluster is a superb replication system when using MySQL or MariaDB for your databases. However, it does have some limits for which you may want to be aware before migrating to it. Within the database server, other than the system tables, which use MyISAM, only InnoDB tables are allowed. InnoDB is used because it’s an excellent transactional storage engine. All tables must have an explicit primary key, either a single or a multi-column index.

https://galeracluster.com/
https://github.com/codership/galera

Tags
Implementation
License
Platform

   




Related Projects

kingbus - A distributed MySQL binlog storage system built on Raft

  •    Go

MySQL replication protocol compatibility, pull the binlog files from the master through gtid mode, and push the binlog file to slave through gtid mode in the same way. Geo-Replication, kingbus uses Raft to support Geo-Replication. The binlog data written to the cluster is guaranteed to be consistent between multiple nodes, and the order of binlog event is exactly the same as that on the master.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

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.

membase - distributed key-value database

  •    C

Membase is an distributed, key-value database management system optimized for storing data behind interactive web applications. These applications must service many concurrent users, creating, storing, retrieving, aggregating, manipulating and presenting data in real-time. Supporting these requirements, membase processes data operations with quasi-deterministic low latency and high sustained throughput.

phxsql - A high availability MySQL cluster that guarantees data consistency between a master and slaves

  •    C++

PhxSQL is a high-availability and strong-consistency MySQL cluster built on Paxos and Percona. Projects on which this project depends are also published by Tencent( phxpaxos, phxrpc, libco ). You can download or clone them with --recurse-submodule.


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.

JanusGraph - Distributed graph database

  •    Java

JanusGraph is a highly scalable graph database optimized for storing and querying large graphs with billions of vertices and edges distributed across a multi-machine cluster. JanusGraph is a transactional database that can support thousands of concurrent users, complex traversals, and analytic graph queries.

kube-cluster-osx - Local development multi node Kubernetes Cluster for macOS made very simple

  •    Shell

Kube-Cluster for macOS is a status bar app which allows in an easy way to bootstrap and control multi-node (master+ two nodes) Kubernetes cluster on three CoreOS VMs. It leverages macOS native Hypervisor virtualisation framework of using corectl command line tool, so there are no needs to use VirtualBox or any other virtualisation software anymore.

katlas - A distributed graph-based platform to automatically collect, discover, explore and relate multi-cluster kubernetes resources and metadata

  •    Go

K-Atlas (pronounced Cutlass), is a distributed graph based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata. K-Atlas's rich query language allows for simple and efficient exploration and extensibility. It addresses following problems in a large scale enterprise environment of Kubernetes.

python-mysql-replication - Pure Python Implementation of MySQL replication protocol build on top of PyMYSQL

  •    Python

Pure Python Implementation of MySQL replication protocol build on top of PyMYSQL. This allow you to receive event like insert, update, delete with their datas and raw SQL queries. The project is used in production for critical stuff in some medium internet corporations. But all use case as not been perfectly test in the real world.

MyMon, MySQL Monitor for HA Servers

  •    Shell

This script desinged to run in a Master/Master MySql Replication Servers which are Highly Available by Heartbeat. This script keeps MySQL Servers Highly Available by having no single point of failure.

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。

MySQL - World's most popular open source database

  •    C++

The MySQL database is the world's most popular open source database because of its consistent fast performance, high reliability and ease of use. It is used by individual Web developers as well as many of the world's largest and fastest-growing organizations to save time and money powering their high-volume Web sites.

kubernetes-vagrant-centos-cluster - Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox

  •    Shell

Setting up a Kubernetes cluster and istio service mesh with vagrantfile which consists of 1 master(also as node) and 3 nodes. You don't have to create complicated CA files or configuration. Because I want to setup the etcd, apiserver, controller and scheduler without docker container.

Spider - Data Sharding and Partitioning for MySQL

  •    C

Spider is the first step when accessing a remote database and a storage engine that updates and improves upon the existing architecture of MySQL. Spider supports database transaction. In addition Spider allows an unlimited amount of users to quickly access the MySQL database. Spider supports MySQL partitioning. Spider operates as a "cluster" acting as a single system that supports unlimited parallel processing.

stolon - PostgreSQL cloud native High Availability and more.

  •    Go

Stolon is under active development and used in different environments. Probably its on disk format (store hierarchy and key contents) will change in future to support new features. If a breaking change is needed it'll be documented in the release notes and an upgrade path will be provided. Anyway it's quite easy to reset a cluster from scratch keeping the current master instance working and without losing any data.

replication-manager - Signal 18 repman - Replication Manager for MySQL / MariaDB / Percona Server

  •    Go

replication-manager is an high availability solution to manage MariaDB 10.x and MySQL & Percona Server 5.7 GTID replication topologies. It includes third-party libraries released under their own licences. Please refer to the vendor directory for more information.

Xenon - Decentralized Control Plane Framework

  •    Java

Xenon is a framework for writing small REST-based services. (Some people call them microservices.) The runtime is implemented in Java and acts as the host for the lightweight, asynchronous services. The programming model is language agnostic (does not rely on Java specific constructs) so implementations in other languages are encouraged. The services can run on a set of distributed nodes. Xenon provides replication, synchronization, ordering, and consistency for the state of the services. Because of the distributed nature of Xenon, the services scale well and are highly available.

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.