12 dépôts
Systems that redistribute data and scale writer tasks to improve throughput and resource utilization.
Distinct from Concurrent Write Optimizations: Distinct from general concurrent write optimizations: focuses on scaling writer tasks and preventing data skew.
Explore 12 awesome GitHub repositories matching data & databases · Data Write Throughput Optimizers. Refine with filters or upvote what's useful.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Redistributes data across nodes to prevent skew and dynamically scales writer tasks to improve throughput.
ScyllaDB is a distributed NoSQL database engine designed for high-throughput data storage and low-latency performance at scale. It functions as a shard-aware platform that manages large-scale datasets across distributed clusters, providing a foundation for real-time applications that require consistent availability and operational stability. The system distinguishes itself through a shared-nothing architecture that distributes data across independent CPU cores to eliminate lock contention. It incorporates a user-space networking stack and an asynchronous event-driven engine to maximize hardwa
Routes requests directly to the appropriate data partition using shard-aware connectivity to maximize system throughput.
Metaflow is a Python machine learning framework and MLOps workflow orchestrator designed to manage the lifecycle of data pipelines from local prototyping to production. It serves as a distributed compute manager and an experiment tracking system, enabling the creation of reproducible pipelines that transition between development and high-availability production environments. The framework distinguishes itself through an integrated checkpointing system that automatically persists intermediate data artifacts to remote storage, allowing failed runs to be resumed from the last successful step. It
Provides high-throughput S3 data management using parallel operations and recursive prefix loading.
CubeFS est un système de stockage cloud distribué conçu pour gérer le stockage de fichiers et d'objets à travers des centres de données et des clouds hybrides. Il fonctionne comme un système de fichiers distribué multi-tenant et un magasin d'objets capable de gérer des données à l'échelle de l'exaoctet, utilisant une architecture distribuée pour stocker du contenu non structuré. Le système se distingue par une couche d'interface multi-protocole qui permet un accès simultané aux données via les interfaces S3, POSIX et HDFS. Il emploie une architecture découplée calcul-stockage pour faire évoluer le traitement et la persistance indépendamment, et implémente des politiques d'isolation fine pour séparer les ressources et les données entre les différents tenants. La fiabilité est gérée par des stratégies de redondance configurables, incluant la mise en miroir multi-répliques et le codage à effacement (erasure coding). La plateforme inclut un système de mise en cache multi-niveaux pour accélérer l'accès aux données et s'intègre à Kubernetes via un pilote Container Storage Interface pour automatiser le provisionnement de volumes persistants.
Optimizes I/O performance for various file sizes through sequential and random write optimizations.
Mountpoint for Amazon S3 is a FUSE-based filesystem client that mounts S3 buckets as local directories, enabling standard file operations on objects without custom code. It enforces S3 bucket permissions through AWS Identity and Access Management policies on every operation, and implements lazy object materialization to fetch content on-demand rather than downloading entire objects at mount time. The filesystem maps S3's flat key namespace into a hierarchical directory structure using forward slashes as path separators, and supports write-back object assembly that accumulates local writes into
Provides tunable network throughput, concurrency, and part-size parameters for high-volume S3 data transfers.
Dragonboat est une implémentation Go du protocole de consensus Raft conçue pour maintenir un état cohérent à travers un cluster distribué de nœuds. Il fournit une bibliothèque pour construire des machines à états distribuées qui assurent l'intégrité des données et la tolérance aux pannes lors des défaillances système. Le projet se distingue par une implémentation Raft multi-groupes, qui partitionne les données à travers des groupes de consensus indépendants pour distribuer les charges de travail et augmenter la capacité de traitement globale du système. Il intègre également le TLS mutuel pour chiffrer la communication inter-nœuds et vérifier l'identité des membres du cluster. Le système inclut des capacités pour des machines à états haute performance avec prise en charge de la persistance en mémoire et sur disque. Il dispose d'optimisations du chemin de lecture pour assurer la cohérence sans générer de nouvelles entrées de journal, une interface de stockage enfichable pour des backends de journal personnalisés, et des outils administratifs pour la récupération de quorum afin de restaurer la disponibilité après une perte permanente de la majorité des nœuds. La stabilité opérationnelle est soutenue par l'exportation de métriques de santé du cluster.
Implements read-path optimizations that verify the latest committed index to ensure consistency without generating new log entries.
OpenTSDB est une base de données de séries temporelles distribuée et un moteur de métriques conçu pour stocker et gérer des volumes massifs de métriques système à haute cardinalité. Il fonctionne comme un magasin de données et une plateforme d'analyse qui permet l'ingestion de métriques à grande échelle et la surveillance de la performance de l'infrastructure à travers un cluster distribué. Le système se distingue par une abstraction de stockage distribué qui supporte de multiples backends tels que HBase, Cassandra et Google Bigtable. Il utilise un arbre de métriques hiérarchique pour organiser les séries temporelles et emploie l'indexation par identifiant numérique pour réduire l'empreinte de stockage et accélérer les recherches pour les métriques taguées. Le projet couvre de larges domaines de capacités incluant l'analyse de données de séries temporelles avec des calculs de centiles distribués et le downsampling, ainsi qu'une gestion complète des métadonnées. Il fournit une intégration API pour l'ingestion et l'interrogation de données, le cache off-heap pour l'optimisation des performances, et des outils pour l'audit d'intégrité des données et l'analyse d'anomalies. Le système est géré via une interface en ligne de commande pour l'administration de la base de données et la synchronisation de l'arbre de métriques.
Scales write throughput by distributing incoming data points across a cluster of nodes to handle millions of points per second.
Velox est un moteur d'exécution de requêtes C++ haute performance et une bibliothèque de traitement de données colonnaires. Il sert de framework composable pour implémenter des moteurs de requêtes analytiques, fournissant un évaluateur d'expressions vectorisées et une boîte à outils pour les systèmes de gestion de données. Le projet se distingue par son utilisation de l'exécution colonnaire vectorisée et de l'allocation mémoire basée sur des arènes pour traiter des jeux de données à grande échelle. Il propose des optimisations spécialisées telles que la mise en cache des tables de jointure broadcast, le push-down de filtres dynamiques et l'encodage par dictionnaire pour réduire la surcharge mémoire et accélérer les lectures analytiques. Le moteur couvre un large éventail de capacités analytiques, incluant l'implémentation de jointures hash, merge et semi, ainsi que l'agrégation parallèle multi-étapes et le calcul de fonctions de fenêtre. Il fournit des primitives pour le stockage colonnaire en mémoire, le décodage de données Parquet et l'intégration avec le stockage cloud. L'extensibilité est assurée par un système d'enregistrement de fonctions pour des fonctions scalaires et d'agrégation personnalisées, avec des bindings de haut niveau disponibles pour connecter la logique C++ à Python.
Optimizes filtered reads from Parquet columns using stack buffers to reduce per-row overhead.
Orioledb est un moteur de stockage cloud-native pour PostgreSQL conçu pour remplacer la couche de stockage par défaut afin d'améliorer l'évolutivité verticale et les performances sur le matériel moderne. Il fonctionne comme un magasin de tables organisé par index, organisant les lignes de table directement au sein de l'index primaire pour accélérer la récupération des données. Le moteur utilise un système de stockage de journal d'annulation (undo log) pour gérer le versionnage des données, ce qui élimine le besoin de vacuuming manuel et empêche le gonflement des tables. Il réduit en outre l'empreinte disque via la compression de données au niveau des blocs et des pages. Le projet fournit des capacités pour la gestion avancée des index et la maintenance automatisée des bases de données. Il inclut des fonctionnalités pour la récupération haute disponibilité via la journalisation au niveau des lignes, ainsi que des outils pour analyser l'utilisation de l'espace et vérifier l'intégrité des tables.
Improves read throughput on high-core servers by removing buffer mapping and atomic operations during in-memory reads.
sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,
Provides optimized read indices to guarantee linearizable reads without the overhead of full log writes.
SlateDB is a cloud-native key-value store and distributed database engine that utilizes a log-structured merge-tree architecture. It serves as a transactional storage layer designed to persist data directly to cloud object storage. The engine differentiates itself by optimizing read performance for remote storage through the use of bloom filters and multi-level block caching. It employs a single-writer multi-reader model and provides the ability to create zero-copy clones via copy-on-write checkpointing. The system supports atomic transactions, range queries, and snapshot-based concurrency c
Implements multi-level block caching and bloom filters to reduce latency when retrieving data from cloud object storage.
This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava
Uses Bloom filters to optimize read paths by verifying key existence before performing disk lookups.