25 repository-uri
Systems for managing long-term data persistence with optional expiration.
Distinguishing note: Focuses on persistent storage with TTL capabilities.
Explore 25 awesome GitHub repositories matching data & databases · Persistent Storage Providers. Refine with filters or upvote what's useful.
Puter is a browser-based desktop environment and cloud-native development platform that provides a virtualized graphical workspace. It enables developers to build and deploy full-stack web applications by integrating cloud storage, authentication, and serverless backend logic directly into the browser, eliminating the need for traditional server infrastructure. The platform distinguishes itself through a unified cloud storage layer and a distributed network runtime that facilitates peer-to-peer communication and cross-origin resource fetching. It features a sophisticated cross-window orchestr
Saves data with optional expiration timestamps for automatic cleanup.
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.
Automa is a browser-based automation platform that enables users to build, schedule, and execute repetitive web tasks through a visual, no-code interface. By operating as a browser extension, it provides a canvas-based environment where users construct workflows by connecting functional blocks to interact with web elements, manage browser state, and process data. The platform distinguishes itself through its deep integration with the browser environment, allowing for complex orchestration such as event-driven triggers, cross-origin request handling, and the ability to package workflows as sta
Maintains global key-value pairs that persist across different automation sessions.
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
Provides a high-performance storage layer for stream persistence, message replay, and reliable delivery.
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.
Memori is an AI agent memory middleware platform designed to provide persistent, context-aware recall for language models. It functions as a non-intrusive layer that intercepts outbound model requests to automatically capture interaction history and execution traces, ensuring that agents maintain continuity across sessions without requiring modifications to existing application logic. The platform distinguishes itself through a dual-model storage architecture that maintains information as both structured relational primitives for precise fact retrieval and rolling narrative summaries for situ
Integrates with various SQL and NoSQL databases by accepting standard connection patterns to store and retrieve agent memory traces.
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 este un framework de calcul paralel și un scheduler de sarcini distribuit conceput pentru a scala fluxurile de lucru de știința datelor în Python de la mașini individuale la clustere mari. Acesta funcționează ca un manager de resurse de cluster care orchestrează logica computațională prin reprezentarea sarcinilor și a dependențelor acestora sub formă de grafuri aciclice direcționate. Această arhitectură permite sistemului să automatizeze distribuția sarcinilor de lucru pe hardware-ul disponibil, gestionând în același timp cerințe complexe de execuție. Proiectul se distinge printr-un motor de evaluare leneșă (lazy) care amână operațiunile pe date până când sunt solicitate explicit, permițând optimizarea globală a grafului și alocarea eficientă a resurselor. Acesta încorporează „spilling” de date conștient de memorie pentru a preveni blocarea sistemului la procesarea seturilor de date care depășesc memoria disponibilă și utilizează fuziunea grafului de sarcini pentru a combina secvențe de operațiuni în pași de execuție unici, minimizând overhead-ul de programare și comunicarea între noduri. Platforma oferă o suprafață cuprinzătoare de capabilități pentru analiza datelor la scară largă, inclusiv suport pentru învățare automată distribuită, integrare cu calcul de înaltă performanță și procesare paralelă a datelor. Oferă instrumente extinse pentru gestionarea ciclului de viață al clusterului, profilarea performanței și monitorizarea în timp real a execuției sarcinilor. Utilizatorii pot implementa aceste medii pe diverse infrastructuri, inclusiv hardware local, furnizori de cloud, sisteme containerizate și clustere de calcul de înaltă performanță.
Monitors memory usage during computation and offloads intermediate results to disk to prevent system crashes.
Redux Persist is a state management utility designed to maintain application data across sessions by synchronizing state with local storage. It functions as a middleware-based engine that automatically saves and restores application state, ensuring that user sessions remain intact after page refreshes or application restarts. The library distinguishes itself through granular control over the persistence lifecycle and data structure. It supports recursive state tree partitioning, allowing developers to apply distinct storage configurations and filtering rules to specific branches of the applic
Provides strategies to merge saved data with the current application state to handle updates during the initial loading process.
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.
GPTCache is a semantic caching layer and response optimizer for large language models. It functions as pluggable middleware for orchestration frameworks, utilizing vector database caching to store and retrieve model responses based on the semantic similarity of prompts rather than exact text matches. The system uses embeddings to determine cache hits by comparing the distance between new queries and stored vectors. It employs a hybrid storage model that persists original prompts in relational databases while maintaining high-dimensional embeddings in vector stores. The project covers a broad
Manages long-term data persistence across various database backends with tools for manual data clearing.
Riverpod is a reactive state management framework for Dart that manages application state through providers which automatically track dependencies and rebuild dependents when values change. It functions as an asynchronous data caching library, caching results of async operations and exposing loading, error, and data states to widgets without manual future handling. The framework includes a provider composition system that combines multiple providers into derived values that recompute automatically when any dependency changes, along with code generation for state providers that reduces boilerpl
Initializes providers from persisted state by waiting for decoding before starting, enabling stored data reuse.
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 este o bază de date NoSQL distribuită și un magazin cheie-valoare bazat pe disc, care servește drept server de protocol compatibil cu Redis. Este conceput pentru a gestiona seturi de date mai mari decât memoria disponibilă a sistemului, utilizând un motor de persistență care stochează setul complet de date pe disc. Sistemul folosește un model de stocare pe niveluri (tiered storage), cache-uind datele „fierbinți” accesate frecvent în memorie, în timp ce menține volumul principal pe disc. Asigură disponibilitatea ridicată printr-o arhitectură de stocare a datelor replicată, folosind log-uri binare asincrone pentru a sincroniza datele între nodurile primare și secundare. Proiectul suportă scalarea bazelor de date distribuite prin sharding-ul datelor bazat pe cluster și organizează datele în grupuri pentru a extinde stratul de stocare. Capabilitățile sale operaționale includ monitorizarea performanței sistemului pentru urmărirea utilizării resurselor și suport pentru deployment-ul containerizat.
Employs a tiered storage model that layers in-memory caching over a persistent disk-based storage engine.
SparkInternals este un ghid tehnic de referință și arhitectură care detaliază designul intern și implementarea motorului de calcul distribuit Apache Spark. Acesta servește drept studiu de analiză a motoarelor de big data, concentrându-se pe modul în care sistemul gestionează execuția în cluster și interacțiunea dintre nodurile driver, executori și workeri. Proiectul oferă o detaliere a modului în care planurile logice sunt convertite în etape de execuție fizică. Analizează în mod specific mecanica operațiunilor de shuffle a datelor, gestionarea memoriei și coordonarea programării joburilor distribuite. Documentația acoperă o gamă largă de capabilități de calcul distribuit, inclusiv planificarea execuției interogărilor, gestionarea dependențelor de date și strategii de caching în memorie. De asemenea, examinează distribuția sarcinilor, execuția paralelă și procesele utilizate pentru recuperarea în caz de eroare și persistența datelor.
Offloads sorted key-value pairs to local disk when internal memory limits are exceeded during shuffles.
Acest proiect este o stivă de identitate .NET și un framework de server utilizat pentru a construi furnizori de identitate certificați OpenID Connect și OAuth 2.0. Oferă logica de bază necesară pentru a emite și valida token-uri de securitate și pentru a gestiona autentificarea utilizatorilor prin diverse tipuri de grant-uri și fluxuri de protocol. Framework-ul include un strat de traducere a protocolului care face legătura între OpenID Connect și SAML pentru a permite interoperabilitatea între diferiți furnizori de identitate. De asemenea, suportă un mod de operare stateless, care elimină validarea și stocarea încorporate pentru a permite controlul manual asupra verificării token-urilor și clienților. Sistemul acoperă o gamă largă de capabilități, inclusiv controlul accesului API prin middleware de validare a token-urilor și integrarea identității cross-platform pentru aplicații desktop și mobile. Dispune de un pipeline de procesare a cererilor personalizabil cu furnizori de persistență pluggable pentru stocarea datelor de identitate și caching-ul cererilor de autorizare.
Ships pluggable persistence providers for long-term storage of tokens and authorization data.
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.