7 repositorios
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 es un sistema de almacenamiento en la nube distribuido diseñado para gestionar almacenamiento de archivos y objetos en centros de datos y nubes híbridas. Funciona como un sistema de archivos distribuido multi-inquilino y un almacén de objetos capaz de manejar datos a escala de exabytes, utilizando una arquitectura distribuida para almacenar contenido no estructurado. El sistema se distingue por una capa de interfaz multiprotocolo que permite el acceso simultáneo a datos a través de interfaces S3, POSIX y HDFS. Emplea una arquitectura desacoplada de cómputo-almacenamiento para escalar el procesamiento y la persistencia de forma independiente e implementa políticas de aislamiento de grano fino para separar recursos y datos entre diferentes inquilinos. La fiabilidad se gestiona mediante estrategias de redundancia configurables, incluyendo replicación múltiple y codificación de borrado (erasure coding). La plataforma incluye un sistema de caché multinivel para acelerar el acceso a los datos y se integra con Kubernetes a través de un controlador de Container Storage Interface (CSI) para automatizar el aprovisionamiento de volúmenes persistentes.
Optimizes I/O performance for various file sizes through sequential and random write optimizations.
Dragonboat es una implementación en Go del protocolo de consenso Raft diseñada para mantener un estado consistente a través de un clúster distribuido de nodos. Proporciona una biblioteca para construir máquinas de estado distribuidas que aseguran la integridad de los datos y la tolerancia a fallos durante las caídas del sistema. El proyecto se distingue por una implementación Raft de múltiples grupos, que particiona los datos a través de grupos de consenso independientes para distribuir cargas de trabajo y aumentar la capacidad de procesamiento general del sistema. También incorpora TLS mutuo para cifrar la comunicación entre nodos y verificar la identidad de los miembros del clúster. El sistema incluye capacidades para máquinas de estado de alto rendimiento con soporte para persistencia tanto en memoria como en disco. Cuenta con optimizaciones de ruta de lectura para asegurar la consistencia sin generar nuevas entradas de registro, una interfaz de almacenamiento conectable para backends de registro personalizados y herramientas administrativas para la recuperación de quórum para restaurar la disponibilidad después de una pérdida permanente de la mayoría de los nodos. La estabilidad operativa se apoya mediante la exportación de métricas de salud del clúster.
Implements read-path optimizations that verify the latest committed index to ensure consistency without generating new log entries.
Velox es un motor de ejecución de consultas en C++ de alto rendimiento y biblioteca de procesamiento de datos columnares. Sirve como un framework componible para implementar motores de consulta analíticos, proporcionando un evaluador de expresiones vectorizadas y un toolkit para sistemas de gestión de datos. El proyecto se distingue por su uso de ejecución columnar vectorizada y asignación de memoria basada en arena para procesar conjuntos de datos a gran escala. Cuenta con optimizaciones especializadas como caché de tablas de broadcast join, push-down de filtros dinámicos y codificación de diccionario para reducir la sobrecarga de memoria y acelerar las lecturas analíticas. El motor cubre una amplia gama de capacidades analíticas, incluyendo la implementación de hash, merge y semi joins, así como agregación paralela multietapa y cálculo de funciones de ventana. Proporciona primitivas para almacenamiento columnar en memoria, decodificación de datos Parquet e integración con almacenamiento en la nube. La extensibilidad se proporciona a través de un sistema de registro de funciones para funciones escalares y agregadas personalizadas, con bindings de alto nivel disponibles para conectar la lógica de C++ a Python.
Optimizes filtered reads from Parquet columns using stack buffers to reduce per-row overhead.
Orioledb es un motor de almacenamiento nativo de la nube para PostgreSQL diseñado para reemplazar la capa de almacenamiento por defecto para mejorar la escalabilidad vertical y el rendimiento en hardware moderno. Funciona como un almacén de tablas organizado por índices, organizando las filas de la tabla directamente dentro del índice primario para acelerar la recuperación de datos. El motor utiliza un sistema de almacenamiento de log de deshacer (undo log) para gestionar el versionado de datos, lo que elimina la necesidad de vacuuming manual y evita el crecimiento excesivo de las tablas (table bloat). Reduce aún más la huella en disco a través de la compresión de datos a nivel de bloque y de página. El proyecto proporciona capacidades para la gestión avanzada de índices y el mantenimiento automatizado de bases de datos. Incluye características para la recuperación de alta disponibilidad a través de logging a nivel de fila, así como herramientas para analizar la utilización del espacio y verificar la integridad de las tablas.
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.