23 dépôts
Distributing connection loads across multiple independent processes for horizontal scaling.
Distinct from Distributed Sharding Architectures: Focuses on process-level scaling of connections rather than database data partitioning.
Explore 23 awesome GitHub repositories matching data & databases · Process Sharding. Refine with filters or upvote what's useful.
xxl-job is a distributed task scheduling platform and job orchestrator designed to manage and trigger timed jobs across a cluster of remote executor nodes. It provides a centralized system for scheduling tasks, linking dependent jobs, and managing complex execution lifecycles through a relational database that persists configurations and logs. The platform distinguishes itself through a web-based interface for cron job management, allowing users to create and update scheduled tasks without modifying source code. It supports cross-language task execution by triggering logic on third-party exec
Splits workloads across multiple executors by assigning unique indices to nodes for parallel data processing.
Discord.js is a Node.js library and framework for interacting with the Discord API. It provides a comprehensive set of wrappers for REST and WebSocket connections, enabling the development of automated server accounts and real-time chat applications. The project distinguishes itself through a distributed bot sharding system that splits a single bot instance across multiple processes to handle high server counts and large-scale workloads. It also includes a specialized voice API wrapper for managing audio streams and voice channel connectivity. The library covers broad capability areas includ
Splits a single bot instance across multiple processes to handle high server counts and large-scale workloads.
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
Splits data across multiple server instances to process requests in parallel and increase total capacity.
Cassandra is a distributed NoSQL database and wide-column store designed for high availability and linear scalability. It functions as a fault-tolerant distributed system that utilizes an LSM-tree storage engine to optimize write throughput and manage massive datasets. The system is a CQL-compliant database, using a structured query language to manage and retrieve tabular data stored across multiple nodes. It organizes information into rows and columns based on a flexible schema and primary keys. The project provides capabilities for horizontal database scaling, distributed data partitioning
Automatically partitions data across multiple servers to maintain transparency and scalability during cluster changes.
This project provides educational materials and courseware focused on the theoretical and practical foundations of distributed systems design. It serves as a comprehensive curriculum covering the disciplines of consensus, data consistency, reliability engineering, and scalability. The instructional content focuses on achieving cluster agreement through consensus algorithms and managing system-wide state via coordination frameworks. It includes a dedicated guide to data theory, exploring replication strategies, consistency models, and data convergence. The courseware covers a broad capability
Provides instructional content on splitting datasets across nodes to distribute load and increase storage capacity.
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Describes distributing key-value pairs across multiple nodes using consistent hashing for even load distribution.
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
Instructs on distributing data across nodes using sharding and clustering for scalability.
kube-prometheus is a monitoring stack deployment and orchestration framework. It uses an operator pattern to automate the installation and lifecycle management of Prometheus and Alertmanager via custom resource definitions. The project focuses on scaling data collection through hash-based target sharding and topology-aware distribution to reduce cross-zone traffic. It implements a sidecar-based configuration reloading mechanism and utilizes consistent hashing to distribute scrape targets across multiple instances. The system covers broad observability capabilities including metric data colle
Pins shards to specific zones to restrict scraping to local targets and reduce network traffic.
oneAPI Threading Building Blocks (oneTBB)
Splits large data sets into smaller blocks and processes each block on a separate thread.
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
Splits datasets across multiple nodes to distribute load and increase storage capacity for parallel processing.
Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer
Stores partitioned data segments across multiple nodes to enable parallel processing and high-throughput analytical query execution.
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
Splits a table into multiple partitions distributed across nodes to scale throughput.
Discordgo is a Go library for building Discord bots and integrations, providing a complete client for both the Discord REST API and the real-time Gateway WebSocket protocol. It serves as a foundational package for developers who need to connect authenticated clients to Discord servers, send messages, handle events, and manage real-time communication programmatically. The library distinguishes itself through a comprehensive set of architectural components designed for production bot development. It includes a command routing middleware system that parses incoming messages and dispatches them t
Scales bot connections across multiple gateway shards to handle large numbers of servers and high message volumes.
Fluvio est une plateforme de streaming d'événements distribuée et un moteur de streaming cloud-native conçu pour collecter, persister et répliquer des flux de données en temps réel à travers un cluster distribué. Il fonctionne comme un pipeline de données temps réel pour construire des workflows avec état qui ingèrent, enrichissent et exportent des données entre des sources et des destinations externes. La plateforme se distingue par son utilisation de WebAssembly pour exécuter des modules compilés pour des transformations et filtrages de données en ligne. Cela permet l'exécution d'une logique métier personnalisée pour remodeler l'information en mouvement sans nécessiter de redémarrage du cluster. Le système couvre un large éventail de capacités, incluant l'ingestion de données basée sur des connecteurs depuis des protocoles externes, un stockage immuable structuré en logs avec E/S zéro-copie, et une mise à l'échelle horizontale du cluster. Il prend en charge la création de pipelines complexes pilotés par les événements qui utilisent le traitement avec état, les agrégations par fenêtrage et la distribution de données basée sur les partitions. Le moteur peut être déployé comme un binaire léger sur diverses architectures système, y compris des appareils IoT ARM64 pour le traitement de données en périphérie (edge).
Distributes load and increases throughput by splitting individual topics into parallel data partitions.
Titan est une base de données de graphes distribuée et un moteur de calcul conçu pour stocker et interroger des jeux de données massifs de nœuds et d'arêtes interconnectés à travers des clusters multi-machines. Il fonctionne comme une couche de stockage de graphes évolutive et un magasin transactionnel, fournissant un framework pour exécuter des tâches de traitement de graphes à grande échelle et des traversées profondes. Le système se distingue par son backend de stockage enfichable, qui découple le moteur de graphe de la couche de persistance physique. Il utilise un partitionnement de données par coupe de sommets (vertex-cut) pour équilibrer les charges de traitement et un modèle de propriété à cardinalité d'ensemble qui permet à des propriétés uniques de stocker plusieurs valeurs. La plateforme couvre un large éventail de capacités, incluant l'indexation de graphes multi-modèles pour les recherches géographiques et en texte intégral, la gestion de schéma globale pour la réindexation des jeux de données, et des opérations transactionnelles assurées par journalisation write-ahead. Elle incorpore également l'expiration d'éléments via des paramètres de durée de vie (TTL) et une surveillance de la performance système pour suivre l'activité des requêtes et la latence des transactions.
Utilizes vertex-cut data partitioning to distribute the graph across a cluster and balance processing loads.
WeNet is an end-to-end automatic speech recognition (ASR) toolkit designed for both Chinese and English, built around transformer-based models. It supports streaming and non-streaming inference out of the box, and is structured to be production-ready, with model export and deployment paths for servers and mobile devices. The toolkit distinguishes itself through a chunk-based streaming transformer architecture that processes audio in fixed-size segments for low latency while preserving context across chunks. It jointly trains models with both CTC and attention loss to combine alignment accurac
The ASR toolkit partitions training data across workers by rank and worker identifier so each process handles a unique subset.
JDA est un wrapper Java pour l'API Discord, fournissant un framework pour construire des agents automatisés et intégrer des applications avec la plateforme de chat. Il fonctionne à la fois comme un client API REST pour gérer les entités de serveur et comme un client gateway qui maintient des connexions WebSocket persistantes pour des mises à jour d'état en temps réel. La bibliothèque propose un module API vocal complet pour gérer le streaming audio, la connectivité aux canaux vocaux et l'intégration de soundboard. Elle inclut également une boîte à outils spécialisée pour le design d'UI interactif, permettant la création de commandes slash, boutons, menus de sélection et formulaires de saisie modaux. Globalement, le projet couvre la modération communautaire via la gestion automatisée des règles, l'administration de serveur via la configuration des canaux et des rôles, et la gestion du trafic en utilisant le sharding pour distribuer les charges d'événements. Il fournit également des utilitaires pour la création de contenu multimédia riche et la récupération détaillée des profils de membres.
Distributes gateway connections across multiple shards to handle high event volumes and avoid rate limits.
JDA est une bibliothèque Java qui sert de wrapper API Discord, de framework de bot et de client API vocal. Elle permet aux applications d'interagir avec l'API REST Discord et la gateway en temps réel pour construire des assistants automatisés, gérer des serveurs et traiter les interactions utilisateur. Le projet inclut un gestionnaire de sharding pour distribuer les connexions gateway à travers plusieurs shards pour scaler les déploiements à haut volume. Il fournit également une bibliothèque de composants UI pour construire des boutons interactifs, des menus de sélection et des formulaires modaux au sein des messages. Ses capacités couvrent la gestion de la voix et de l'audio, incluant le streaming audio et la lecture de soundboard. La bibliothèque inclut également des outils pour la gestion communautaire, l'administration de serveur et la modération de contenu automatisée via des déclencheurs basés sur des règles. Le système implémente une variété de patterns architecturaux, incluant un registre d'écouteurs piloté par événements, un cache mémoire configurable et une gestion automatique des limites de débit pour les requêtes API.
Distributes gateway connections across multiple shards to scale the bot for high server volumes.
Zeebe est un moteur de flux de travail cloud-native et une machine à états distribuée conçue pour l'orchestration des processus métier en utilisant les normes BPMN et DMN. Il opère comme un runtime de flux de travail gRPC haute performance qui exécute des processus métier complexes via une architecture de streaming d'événements partitionnée. Le système fonctionne également comme un orchestrateur pour les agents de modèles de langage de grande taille, coordonnant le raisonnement de l'IA et l'utilisation d'outils au sein de processus métier déterministes. Le moteur se distingue par son réseau de courtiers peer-to-peer et un modèle de réplication de données basé sur le consensus qui garantit une haute disponibilité et une tolérance aux pannes. Il emploie un cluster de courtiers partitionné pour atteindre une scalabilité horizontale et utilise une contre-pression de requête adaptative pour réguler le flux de commandes entrant et prévenir la surcharge du système. La plateforme couvre une large surface de capacités opérationnelles, incluant la surveillance de l'exécution en temps réel avec des cartes thermiques de performance, la prise de décision métier automatisée via des tables de décision et l'exécution de tâches distribuées via un modèle de travailleur de tâches basé sur le polling. Elle fournit également des outils pour l'isolation des ressources multi-locataires, le contrôle d'accès basé sur l'identité et l'intégration d'API web externes et de fonctions sans serveur. Le système peut être déployé à travers divers environnements, incluant Kubernetes et Docker, et est géré via une combinaison d'une interface en ligne de commande et d'une API REST programmatique.
Distributes workflow instances across multiple shards to balance load and increase event processing volume.
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 large datasets across multiple nodes to manage extreme storage volumes and maintain performance as data grows.