7 dépôts
Techniques such as block caching and bloom filters to accelerate data retrieval from object storage.
Distinct from S3 Throughput Optimizers: Distinct from S3 Throughput Optimizers: focuses specifically on accelerating read paths via caching and membership testing rather than parallel I/O movement patterns.
Explore 7 awesome GitHub repositories matching data & databases · Read Performance Optimizations. Refine with filters or upvote what's useful.
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.
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.
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.