awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

14 dépôts

Awesome GitHub RepositoriesMemory-Disk Layering

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.

Awesome Memory-Disk Layering GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • pubkey/rxdbAvatar de pubkey

    pubkey/rxdb

    23,048Voir sur GitHub↗

    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.

    TypeScriptangularbrowser-databasecouchdb
    Voir sur GitHub↗23,048
  • vectordotdev/vectorAvatar de vectordotdev

    vectordotdev/vector

    22,071Voir sur GitHub↗

    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.

    Rusteventsforwarderhacktoberfest
    Voir sur GitHub↗22,071
  • prestodb/prestoAvatar de prestodb

    prestodb/presto

    16,711Voir sur GitHub↗

    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.

    Javabig-datadatahadoop
    Voir sur GitHub↗16,711
  • spotify/annoyAvatar de spotify

    spotify/annoy

    14,157Voir sur GitHub↗

    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.

    C++approximate-nearest-neighbor-searchc-plus-plusgolang
    Voir sur GitHub↗14,157
  • dask/daskAvatar de dask

    dask/dask

    13,746Voir sur GitHub↗

    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.

    Pythondasknumpypandas
    Voir sur GitHub↗13,746
  • openrefine/openrefineAvatar de OpenRefine

    OpenRefine/OpenRefine

    11,866Voir sur GitHub↗

    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.

    Javadata-analysisdata-sciencedata-wrangling
    Voir sur GitHub↗11,866
  • microsoft/fasterAvatar de microsoft

    microsoft/FASTER

    6,606Voir sur GitHub↗

    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.

    C#concurrenthash-tableindexing
    Voir sur GitHub↗6,606
  • materializeinc/materializeAvatar de MaterializeInc

    MaterializeInc/materialize

    6,314Voir sur GitHub↗

    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.

    Rust
    Voir sur GitHub↗6,314
  • openatomfoundation/pikiwidbAvatar de OpenAtomFoundation

    OpenAtomFoundation/pikiwidb

    6,113Voir sur GitHub↗

    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.

    C++nosqlnosql-data-storagenosql-databases
    Voir sur GitHub↗6,113
  • jerrylead/sparkinternalsAvatar de JerryLead

    JerryLead/SparkInternals

    5,363Voir sur GitHub↗

    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.

    Voir sur GitHub↗5,363
  • trinea/android-commonAvatar de Trinea

    Trinea/android-common

    5,022Voir sur GitHub↗

    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.

    Java
    Voir sur GitHub↗5,022
  • oceanbase/miniobAvatar de oceanbase

    oceanbase/miniob

    4,318Voir sur GitHub↗

    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.

    C++classroomcplusplusdatabase
    Voir sur GitHub↗4,318
  • facebookincubator/veloxAvatar de facebookincubator

    facebookincubator/velox

    4,155Voir sur GitHub↗

    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.

    C++
    Voir sur GitHub↗4,155
  • kuzudb/kuzuAvatar de kuzudb

    kuzudb/kuzu

    3,965Voir sur GitHub↗

    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.

    C++cypherdatabaseembeddable
    Voir sur GitHub↗3,965
  1. Home
  2. Data & Databases
  3. Persistent Storage Providers
  4. Memory-Disk Layering

Explorer les sous-tags

  • Buffer Pool Page Evictions1 sous-tagLoads disk pages into a fixed-size memory frame pool and evicts old pages when space runs out. **Distinct from Memory-Disk Layering:** Distinct from Memory-Disk Layering: focuses on the buffer pool eviction policy for database pages, not general memory-disk layering.
  • Hot-Cold Data SpillingStorage layers that automatically move cold data from memory to disk or cloud storage while keeping hot data in memory. **Distinct from Memory-Disk Layering:** Distinct from Memory-Disk Layering: focuses on the automatic spilling of cold data to external storage, not just the general layering of memory over disk.
  • Memory-Spilling EnginesExecution engines that offload intermediate query results to disk when memory thresholds are exceeded. **Distinct from Memory-Disk Layering:** Distinct from general memory-disk layering: focuses on the execution engine's stability mechanism during large-scale processing.
  • Multi-Layered Buffer TopologiesArchitectures that route data between memory and disk storage layers to balance performance and durability. **Distinct from Memory-Disk Layering:** Distinct from Memory-Disk Layering: focuses on the topology of chaining buffers for overflow management rather than general storage layering.