Displaying 1 to 20 from 22 results

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.

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.

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。

node-hash-ring - A Consistent Hashing C++ add-on for node.js

  •    C++

See this blog post for more information.By default, MD5 is used to hash keys. You can choose another hasher.

redis-resharding-proxy - Redis Resharding Proxy

  •    Go

Redis Resharding Proxy could be used to split (re-shard) instance of Redis into several smaller instances without interrupting normal operations.Resharding is using Redis built-in replication to transfer data from master Redis node (existing big node) to slave (new smaller node) through special proxy which filters keys in both initial data (RDB) and incremental updates in real-time.

redis-tools - my tools working with redis

  •    Python

Generate the Redis protocol, in raw format, in order to use 'redis-cli --pipe' command to massively and quickly insert/delete.... keys in a redis server. It accepts as input a pipe with redis commands formatted as "DEL key", "SET key value" ...

redis-pusher - A Node

  •    Javascript

A Node.js application that consumes messages published on Redis channels and send them as Push Notifications via APNS or GCM. a) Events: Sit and listen for messages published on the Redis subscribed channel(s).

libring - A fast consistent hash ring implementation in Elixir

  •    Elixir

This library implements a stateful consistent hash ring. It's extremely fast (in benchmarks it's faster than all other implementations I've tested against, namely voicelayer/hash-ring and sile/hash_ring), it has no external dependencies, and is written in Elixir. The algorithm is based on libketama. Nodes on the ring are broken into shards and each one is assigned an integer value in the keyspace, which is the set of integers from 1 to 2^32-1. The distribution of these shards is random, but deterministic.

light-cycle - a consistent hash ring for your blue-glowing shards

  •    Javascript

A consistent hashringcycle for sharding your dataz, with 100% more blue glow and 50% less Wagner. Resources are any object or identifier you wish to store. You can store an open database connection, a resource identifier, or something else. This module does not attempt to inspect or use the resource. It just implements a sharding scheme based on the resource's id.


  •    Javascript

A module to manage keys along a shard of up to 3844 nodes inspired by this Instagram article. BE CAREFUL. THIS MODULE IS NO MORE SUPPORTED. If you are looking at a unique id generator, take a look at Unicum.

weaver - An Advanced HTTP Reverse Proxy with Dynamic Sharding Strategies

  •    Go

Weaver is a Layer-7 Load Balancer with Dynamic Sharding Strategies. It is a modern HTTP reverse proxy with advanced features. Weaver uses etcd as a control plane to match the incoming requests against a particular route config and shard the traffic to different backends based on some sharding strategy.

mixed_gauge - A simple and robust database sharding with ActiveRecord.

  •    Ruby

A simple and robust ActiveRecord extension for database sharding. mixed_gauge offers shards management with hash slots and re-sharding support. It enable you to execute efficient queries to single node with KVS-like interface. And you can even execute limited RDB queries to all nodes with ActiveRecord interface in-parallel. Database sharding tend to be over-complexed. There are cases which need these complex database sharding but in some cases database sharding can be more simple. The large data set which is enoght big to partition should be designed to be distributed, or should be re-design if it wasn't. Design to be distributed uses key based relation or reverse indexes to fits its limitation. In that case, the data set is almost design to be distributed, mixed_gauge strongly encourages your database sharding by its simplicity.

shards - Transparent and out-of-box Sharding support for Erlang/Elixir ETS tables!

  •    Erlang

Sharding support for ETS tables out-of-box. Why might we need Sharding on ETS tables? Well, the main reason is to keep the lock contention under control, in order to scale-out ETS tables (linearly) and support higher levels of concurrency without lock issues; specially write-locks, which most of the cases might cause significant performance degradation.

rye - RYE, Native Sharding RDBMS

  •    C

Scalability problems in relational databases are perceived as a major disadvantage. Sharding is one of the solutions to overcome the scalability problems, but the lack of functionality supported by DBMS makes it difficult to apply for the application. To solve it, we are developing RYE which is RDBMS supporting sharding functionality. RYE is forked from CUBRID 9.3.

activerecord-turntable - ActiveRecord Sharding Plugin

  •    Ruby

ActiveRecord::Turntable is a database sharding extension for ActiveRecord. If you are using with older activerecord versions, use following versions.