14 dépôts
Architectures that layer memory storage over persistent disk storage for performance.
Distinct from Persistent Storage Providers: Focuses on the layering of memory and disk, distinct from general persistence providers.
Explore 14 awesome GitHub repositories matching data & databases · Memory-Disk Layering. Refine with filters or upvote what's useful.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
Combines high-speed memory storage with background disk replication to optimize query performance while ensuring long-term data durability.
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
Routes overflow events between memory and disk storage layers to balance speed and durability.
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
Offloads intermediate query results to disk when memory thresholds are exceeded to ensure stability during large-scale analytical processing.
Annoy is a C++ library designed for approximate nearest neighbor search in high-dimensional vector spaces. It functions as a vector similarity search engine that constructs static, disk-based data structures to facilitate fast lookups. By mapping identifiers to vector data and persisting these structures to disk, the library enables efficient, memory-mapped access to large datasets. The project distinguishes itself through the use of random projection trees and distance-metric-based partitioning, which organize data into hierarchical binary trees to balance search precision against computatio
Persists search structures to disk, allowing large datasets to be shared across processes without requiring full memory residency.
Dask est un framework de calcul parallèle et un planificateur de tâches distribué conçu pour mettre à l'échelle les flux de travail de science des données Python, des machines uniques aux grands clusters. Il fonctionne comme un gestionnaire de ressources de cluster qui orchestre la logique computationnelle en représentant les tâches et leurs dépendances sous forme de graphes acycliques dirigés. Cette architecture permet au système d'automatiser la distribution des charges de travail sur le matériel disponible tout en gérant des exigences d'exécution complexes. Le projet se distingue par un moteur d'évaluation paresseuse qui diffère les opérations sur les données jusqu'à ce qu'elles soient explicitement demandées, permettant une optimisation globale du graphe et une allocation efficace des ressources. Il intègre le déversement de données conscient de la mémoire pour éviter les plantages du système lors du traitement de jeux de données dépassant la mémoire disponible, et il utilise la fusion de graphes de tâches pour combiner des séquences d'opérations en étapes d'exécution uniques, minimisant la surcharge de planification et la communication entre nœuds. La plateforme fournit une surface de capacités complète pour l'analyse de données à grande échelle, incluant le support pour l'apprentissage automatique distribué, l'intégration du calcul haute performance et le traitement de données parallèle. Elle offre des outils étendus pour la gestion du cycle de vie des clusters, le profilage des performances et la surveillance en temps réel de l'exécution des tâches. Les utilisateurs peuvent déployer ces environnements sur diverses infrastructures, incluant le matériel local, les fournisseurs cloud, les systèmes conteneurisés et les clusters de calcul haute performance.
Monitors memory usage during computation and offloads intermediate results to disk to prevent system crashes.
OpenRefine is a data cleaning tool and wrangling platform used to transform raw, messy datasets into consistent and structured formats. It operates as a Java-based data processor that runs a local server and provides a web browser interface for managing and manipulating data. The platform includes a data reconciliation engine for matching local entries against external knowledge bases to standardize entities. It also functions as a web data augmentation tool, allowing users to fetch and integrate information from external web sources to enrich their datasets. The system provides a transforma
Implements memory-to-disk spillover to handle datasets that exceed available RAM.
FASTER is a high-throughput key-value store that combines an in-memory data store with a hybrid memory-disk storage engine, enabling datasets larger than available RAM. It uses a latch-free, cache-optimized index for concurrent point lookups and heavy updates, and records all mutations to a persistent append-only log on disk with checksum validation and group-commit checkpointing for crash recovery. The system supports multi-key transactional workloads through atomic multi-key locking, ensuring transactional consistency without coarse-grained contention. It exposes the key-value store to remo
Keeps hot data in memory and seamlessly spills cold data to fast local or cloud storage.
Materialize is a streaming SQL database that continuously ingests live data from sources such as Kafka, Redpanda, PostgreSQL, and MySQL, and incrementally maintains materialized views. It provides a PostgreSQL-compatible query engine that accepts standard SQL over the PostgreSQL wire protocol, enabling any existing SQL client or BI tool to query real-time data. The system also includes a Model Context Protocol (MCP) server that exposes live materialized view data to AI agents, providing fresh context without polling. Materialize distinguishes itself through its ability to offer configurable c
Offloads large key-value state to disk automatically when using upsert or Debezium envelopes.
PikiwiDB est une base de données NoSQL distribuée et un magasin clé-valeur basé sur disque qui sert de serveur de protocole compatible Redis. Il est conçu pour gérer des jeux de données plus grands que la mémoire système disponible en utilisant un moteur de persistance qui stocke le jeu de données complet sur disque. Le système emploie un modèle de stockage par niveaux, mettant en cache les données chaudes fréquemment consultées en mémoire tout en maintenant le volume principal sur disque. Il assure une haute disponibilité via une architecture de magasin de données répliqué, utilisant des logs binaires asynchrones pour synchroniser les données entre les nœuds primaires et secondaires. Le projet prend en charge le scaling de base de données distribuée via le sharding de données basé sur cluster et organise les données en groupes pour étendre la couche de stockage. Ses capacités opérationnelles incluent la surveillance des performances système pour suivre l'utilisation des ressources et la prise en charge du déploiement conteneurisé.
Employs a tiered storage model that layers in-memory caching over a persistent disk-based storage engine.
SparkInternals est une référence technique et un guide d'architecture détaillant la conception interne et l'implémentation du moteur de calcul distribué Apache Spark. Il sert d'étude sur l'analyse des moteurs de big data, en se concentrant sur la gestion de l'exécution en cluster et l'interaction entre les nœuds drivers, les exécuteurs et les workers. Le projet fournit une décomposition détaillée de la manière dont les plans logiques sont convertis en étapes d'exécution physiques. Il analyse spécifiquement la mécanique des opérations de shuffle, la gestion de la mémoire et la coordination de la planification des jobs distribués. La documentation couvre un large éventail de capacités de calcul distribué, incluant la planification de l'exécution des requêtes, la gestion des dépendances de données et les stratégies de mise en cache en mémoire. Elle examine également la distribution des tâches, l'exécution parallèle et les processus utilisés pour la reprise sur erreur et la persistance des données.
Offloads sorted key-value pairs to local disk when internal memory limits are exceeded during shuffles.
android-common is a collection of shared utility components and framework libraries for Android development. It provides specialized toolkits for reverse engineering, system utility management, data caching, and high-performance user interface components. The project includes a reverse engineering toolkit for inspecting application internals through package decompilation and manifest data extraction. It also features a system utility toolkit for managing file operations and executing shell commands within the Android operating system. The library covers several capability areas, including da
Balances volatile memory for fast access with persistent disk storage for long-term asset retention.
MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c
Manages disk page loading into a fixed-size memory pool with eviction for efficient access.
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.
Controls memory resource usage via arena allocation and spills intermediate data to disk when limits are exceeded.
Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di
Offloads intermediate query results to temporary disk storage when memory limits are reached to ensure processing stability.