21 Repos
Systems for redistributing data shards across nodes to ensure even resource utilization and balanced storage.
Distinct from Load Balancing: Existing candidates focus on network traffic/request distribution, whereas this refers to the internal redistribution of data shards within a database cluster.
Explore 21 awesome GitHub repositories matching data & databases · Cluster Load Balancing. Refine with filters or upvote what's useful.
TiKV is a cloud-native distributed transactional key-value store and storage engine. It provides a distributed database designed for horizontal scalability and strong consistency across a cluster of physical nodes. The system uses a Raft-based consensus mechanism to maintain data availability and state synchronization. It ensures ACID compliance for distributed transactions through a two-phase commit workflow and manages data distribution via multi-Raft sharding. The engine handles massive datasets using automated range splitting and cluster load balancing to distribute data across different
Automatically redistributes data ranges across the cluster to balance storage and compute load across physical nodes.
FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides
Redistributes data shards and requests across nodes automatically to ensure even resource utilization and eliminate hot spots.
CMAK is a Kafka cluster management tool and web interface designed for the administration of brokers, topics, and partitions. It provides a centralized system for Kafka cluster governance, encompassing resource administration, access control, and data distribution optimization. The project features a management UI that allows for the creation, deletion, and update of topic configurations and partition counts. It includes a partition rebalancer for executing data reassignment and preferred replica elections to balance load across cluster nodes. The system provides observability through broker
Executes preferred replica elections and partition reassignments to prevent hotspots across nodes.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Balances data loads by assigning or moving logical hash slots between shards across the cluster.
FastDFS is a distributed file system and object store designed as a high-capacity file server. It functions as a cluster storage manager that saves, syncs, and accesses large volumes of unstructured data across a network of distributed servers. The system uses unique identifiers for file retrieval and indexing instead of traditional hierarchical naming to avoid metadata bottlenecks. It manages file attributes through key-value metadata mapping and employs a distributed replication model to ensure high availability and data redundancy across storage groups. The project provides capabilities f
Implements a distributed replication model across storage groups to ensure high availability and data redundancy.
KnowStreaming is a centralized Kafka cluster management platform that unifies multi-cluster federation, load balancing, disaster recovery, and resource governance through a web-based graphical interface. It provides a single control plane for administering brokers, topics, partitions, consumer groups, ACLs, and connectors across heterogeneous Kafka clusters without requiring CLI commands or agent deployment on brokers. The platform distinguishes itself through automated load balancing that redistributes partition leaders and replicas to eliminate hotspots and improve throughput, combined with
Automatically redistributes partition leaders and replicas across brokers to eliminate hotspots and improve throughput.
WVP-GB28181-Pro is a video surveillance platform built around the GB28181 standard, functioning as a streaming media server that manages GB28181-compliant cameras and NVRs. It also serves as a JT/T 808 vehicle gateway, bridging JT/T 808 and JT/T 1078 vehicle devices into the surveillance network, and acts as a multi-protocol video aggregator that unifies GB28181, JT/T 808, JT/T 1078, and ONVIF protocols under a single management interface. The platform supports NAT traversal for connecting devices across different network segments and ingests video from GB28181, ONVIF, and RTSP sources, output
Distributes streaming sessions across multiple media server instances using a configurable load-balancing algorithm.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Redistributes data shards across cluster nodes to ensure even resource utilization and balanced storage during scaling events.
GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries metrics, logs, and traces together in a single columnar engine, supporting both SQL and PromQL for analysis. The database is designed as a Kubernetes-native operator with a decoupled compute and storage architecture, enabling horizontal scaling and multi-region deployment. What distinguishes GreptimeDB is its role as a multi-protocol ingestion gateway, accepting data through OpenTelemetry, Prometheus Remote Write, InfluxDB, Loki, Elasticsearch, Kafka, and MQTT protocols without
Automatically moves regions from overloaded datanodes to underloaded ones to balance write load.
CloudEvents is an open specification for describing event data in a common format across cloud platforms and services. It defines a standard structure and set of metadata attributes for events, enabling interoperability across different systems so producers and consumers can exchange events without custom translation. The specification provides a protocol-agnostic serialization framework that maps CloudEvents attributes and payloads to multiple serialization formats including JSON, Avro, and Protobuf, and defines transport bindings for mapping events onto protocols like HTTP, AMQP, Kafka, MQTT
Specifies how to assign Kafka record keys from CloudEvent attributes for partitioning and ordering.
Descheduler ist ein Kubernetes-Workload-Rebalancer und Pod-Eviction-Manager, der darauf ausgelegt ist, die Ressourcenverteilung zu optimieren und die Cluster-Stabilität aufrechtzuerhalten. Er identifiziert und entfernt Pods, die Scheduling-Einschränkungen oder Gesundheitsanforderungen nicht mehr erfüllen, und ermöglicht es dem Cluster, diese auf geeignetere Nodes zu verschieben. Das Projekt bietet spezialisierte Funktionen zum Ausgleich der Node-Ressourcenauslastung, zur Durchsetzung von Topology-Spread-Constraints und zum Entfernen doppelter Pods zur Verbesserung der Verteilung. Es fungiert zudem als Autoscaler-Helfer, indem es Workloads auf weniger Nodes verdichtet, um das Downscaling ungenutzter Infrastruktur zu erleichtern. Das System deckt eine Vielzahl von Wartungsaufgaben ab, einschließlich der Bereinigung fehlerhafter, instabiler oder veralteter Pods sowie der Durchsetzung von Node-Affinity- und Taint-Regeln. Es enthält Sicherheitsmechanismen wie die Validierung der Scheduling-Passgenauigkeit, um sicherzustellen, dass Pods vor der Eviction neu geplant werden können, label-basiertes Filtern zum Schutz kritischer Workloads sowie einen Dry-Run-Modus zur Vorschau von Änderungen. Das Tool kann als kontinuierlicher Hintergrundprozess oder als wiederkehrender Cron-Job bereitgestellt werden und unterstützt Hochverfügbarkeit durch Leader-Election.
Dynamically rearranges pods within the cluster to optimize distribution and balance load.
Volcano is a Kubernetes-native batch scheduler specialized for AI, machine learning, and high-performance computing workloads. It provides gang scheduling to atomically allocate resources for all tasks of a distributed job, preventing deadlocks from partial allocation, and supports hierarchical queue management for multi-tenant resource isolation with configurable quotas, borrowing, and preemption. Topology-aware placement optimizes communication-intensive workloads by modeling network hierarchy to minimize cross-switch latency. Volcano differentiates itself with automated orchestration of di
Distributes batch jobs across a pool of clusters to aggregate capacity and balance load.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Assigns partition keys during message publication to ensure consistent ordering and load distribution.
GlusterFS ist ein softwaredefiniertes verteiltes Dateisystem und Scale-Out-Storage-Cluster, das Festplattenressourcen von mehreren Servern in einem einzigen globalen Namensraum aggregiert. Es fungiert als vereinheitlichte Speicherplattform, die es ermöglicht, dieselben zugrunde liegenden Daten über Datei-, Block- und Objektspeicherschnittstellen bereitzustellen. Das System zeichnet sich durch eine dezentrale Architektur aus, die konsistentes Hashing verwendet, um Dateien über Netzwerkknoten hinweg ohne zentralen Metadaten-Server zu verteilen. Es stellt Datenintegrität und -verfügbarkeit durch selbstheilende Replikation, Quorum-basierte Konsistenz zur Vermeidung von Split-Brain-Szenarien sowie asynchrone Geo-Replikation für die Notfallwiederherstellung über entfernte geografische Standorte hinweg sicher. Die Plattform bietet eine breite Abdeckung von Funktionen über Multi-Protokoll-Speicherexport via NFS, Samba und iSCSI sowie umfassende Volume-Verwaltung, einschließlich Point-in-Time-Snapshots, Speicherkontingenten und elastischer Kapazitätserweiterung. Die Sicherheit wird durch TLS-Verschlüsselung für Daten während der Übertragung, Identitätsmanagement-Integration und granulare POSIX-Zugriffskontrolle gehandhabt. Die Software ist als Binärpakete über Community-Repositories für verschiedene Linux-Distributionen verfügbar.
Maintains consistency across three nodes by storing only metadata on one node to optimize replication storage.
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
Dynamically moves groups of actors between nodes during membership changes to ensure even load distribution.
m3 ist eine verteilte Zeitreihendatenbank, die für hochauflösende Metriken und die Verwaltung von Daten mit hoher Kardinalität entwickelt wurde. Sie fungiert als skalierbares Speichersystem und Multi-Cluster-Query-Engine und bietet einen verteilten Metrik-Aggregator, der Daten vor dem Speichern downsamplen und zusammenfassen kann. Das Projekt zeichnet sich durch ein koordiniertes Clustermodell aus, das etcd für die Knotenmitgliedschaft und Shard-Platzierung nutzt. Es unterstützt mehrere Ingestion-Protokolle, einschließlich des Prometheus-Remote-Write-Protokolls, des InfluxDB-Line-Protokolls und des Graphite-Carbon-Plaintext-Protokolls, und bietet kompatible Query-Schnittstellen für PromQL und Graphite. Das System deckt breite Funktionsbereiche ab, einschließlich spaltenorientierter Zeitreihenspeicherung, synchroner Datenreplikation und verteiltem Query-Fan-out. Es integriert Daten-Lifecycle-Automatisierung, Quorum-basiertes Konsistenz-Tuning und Tag-basierte Serienindizierung, um Datenintegrität und Abfragegeschwindigkeit über isolierte Namespaces hinweg aufrechtzuerhalten. Cluster-Orchestrierung und Komponentenplatzierung werden durch automatisierte Tools und Operatoren verwaltet, um hohe Verfügbarkeit und eine ausgewogene Datenverteilung sicherzustellen.
VictoriaMetrics fetches time series blocks from peers by comparing metadata and streaming data from suitable replicas.
Zeebe ist eine Cloud-native Workflow-Engine und eine verteilte Zustandsmaschine, die für die Orchestrierung von Geschäftsprozessen unter Verwendung von BPMN- und DMN-Standards konzipiert wurde. Sie arbeitet als hochperformante gRPC-Workflow-Runtime, die komplexe Geschäftsprozesse durch eine partitionierte Event-Streaming-Architektur ausführt. Das System fungiert zudem als Orchestrator für Large-Language-Model-Agenten und koordiniert KI-Reasoning und Tool-Nutzung innerhalb deterministischer Geschäftsprozesse. Die Engine zeichnet sich durch ihr Peer-to-Peer-Broker-Networking und ein konsensbasiertes Datenreplikationsmodell aus, das hohe Verfügbarkeit und Fehlertoleranz sicherstellt. Sie setzt einen partitionierten Broker-Cluster ein, um horizontale Skalierbarkeit zu erreichen, und nutzt adaptives Request-Backpressure, um den eingehenden Befehlsfluss zu regulieren und Systemüberlastungen zu verhindern. Die Plattform deckt ein breites Spektrum operativer Funktionen ab, einschließlich Echtzeit-Ausführungsüberwachung mit Performance-Heatmaps, automatisierter Geschäftsentscheidungsfindung über Entscheidungstabellen und verteilter Task-Ausführung durch ein polling-basiertes Job-Worker-Modell. Sie bietet zudem Tools für Multi-Tenant-Ressourcenisolierung, identitätsbasierte Zugriffskontrolle und die Integration externer Web-APIs und serverloser Funktionen. Das System kann über verschiedene Umgebungen hinweg bereitgestellt werden, einschließlich Kubernetes und Docker, und wird über eine Kombination aus Kommandozeilenschnittstelle und programmatischer REST-API verwaltet.
Redistributes partition leaders across brokers to eliminate hotspots and optimize system throughput.
go-fastdfs is a distributed file system and object storage server designed for building private cloud storage. It provides a FastDFS compatible storage implementation that manages clusters of storage nodes to handle large-scale file uploads and downloads. The system focuses on high availability through a decentralized architecture that automatically synchronizes data and repairs failures across multiple machines without a central coordinator. It specifically supports resumable file storage via HTTP, allowing large transfers to be paused and resumed from the last successful byte to handle netw
Allows redistributing files between nodes to balance storage load and resolve disk-full conditions without service interruption.
RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind
Distributes read and write requests across cluster nodes to optimize traffic and ensure reliability.
TinyKV ist ein verteilter Key-Value-Store, der für das Speichern und Abrufen von Daten über mehrere Knoten hinweg mit hoher Verfügbarkeit konzipiert ist. Er fungiert als verteiltes Datenbanksystem, das eine dedizierte Key-Value-Storage-Engine für die persistente Speicherung und den Abruf von Rohdaten auf einzelnen Knoten enthält. Das Projekt umfasst eine Raft-Konsens-Engine, um Datenkonsistenz und Fehlertoleranz über einen Server-Cluster hinweg sicherzustellen. Es bietet zudem einen verteilten Transaktionsmanager, der atomare Commits und Concurrency-Control koordiniert, um die Datenintegrität über Shards hinweg zu wahren. Das System deckt die Verwaltung der Clustermitgliedschaft ab, einschließlich Leader-Wahlen und Data-Sharding zum Lastausgleich. Es implementiert verteiltes Transaktionsmanagement und eine replikationsbasierte Konsens-Engine, um die Zustandsstabilität zu gewährleisten.
Balances load and maintains stability by redistributing data shards and managing leader elections.