13 repositorios
Collections and containers that are mapped directly to persistent storage to survive process restarts.
Distinct from Persistent Data Structures: Existing candidates focus on functional immutability or cache eviction; this is about general data structure persistence on disk.
Explore 13 awesome GitHub repositories matching data & databases · Disk-Persistent Data Structures. Refine with filters or upvote what's useful.
This project is an educational implementation of a relational database engine written in C. It functions as a SQLite clone, demonstrating the internal mechanics of a database system through a C-based systems project that focuses on manual memory management and file I/O. The engine is distinguished by its use of a bytecode virtual machine, which executes database operations by compiling SQL statements into low-level instructions. It utilizes a B-tree database engine to organize records in a balanced tree structure, ensuring efficient insertion, search, and range scanning. The system covers co
Implements disk-persistent data structures that map the B-Tree directly to a binary file for durability.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Enables disk-based storage for distributed consensus groups to allow members to recover their data and rejoin groups after a restart.
goleveldb es una base de datos de almacenamiento clave-valor embebida para Go. Proporciona persistencia e indexación de datos locales, permitiendo a las aplicaciones almacenar y recuperar información utilizando claves únicas sin necesidad de un servidor independiente. La base de datos organiza los datos utilizando un árbol de fusión estructurado en registros (LSM-tree) e indexación persistente en orden lexicográfico. Esta estructura admite escaneos de rango eficientes y búsquedas basadas en prefijos. El sistema incluye capacidades para escrituras por lotes atómicas para garantizar la consistencia de los datos y evitar actualizaciones parciales. El rendimiento se gestiona mediante registro de escritura previa (write-ahead logging), almacenamiento en búfer en memoria y filtros de Bloom para reducir la entrada y salida innecesaria en disco.
Implements a persistent index in lexicographical order to support efficient range scans and prefix-based searches on disk.
Tilix is a tiling terminal emulator for Linux that uses GTK+ 3 widgets for native desktop integration and theming. It arranges multiple terminal sessions in a resizable grid layout, allowing users to split the window into several panes simultaneously. The application is built on the VTE terminal emulation engine and uses the Meson build system for compilation. The terminal supports synchronized input broadcasting, where keystrokes typed in one pane are replicated to all grouped terminals via D-Bus inter-process communication. It also offers a Quake-style drop-down mode that slides a terminal
Persists terminal pane layouts and configurations to disk as structured files for later restoration.
SpringSide 4 is an enterprise Java reference architecture and utility library built on the Spring Framework. It provides a pragmatic, best-practice application stack for building RESTful web services, web applications, and data access layers, along with a curated collection of high-performance utility classes for common operations like text, date, collection, reflection, concurrency, and I/O handling. The project distinguishes itself by combining a complete reference application scaffold with production-oriented infrastructure. It includes a JPA-based data access layer that automatically tran
Supports persisting the embedded H2 database to disk for development and testing.
Remark42 es un motor de comentarios autohospedado y centrado en la privacidad, diseñado para sitios web y blogs. Funciona como una aplicación independiente que puede desplegarse como un binario único o una imagen contenedorizada en diferentes sistemas operativos. El sistema permite que una sola instancia aloje servicios de comentarios para múltiples dominios distintos mediante la gestión multisitio. Utiliza una capa de identidad que verifica a los usuarios mediante correo electrónico, cuentas anónimas o proveedores sociales utilizando autenticación OAuth. La plataforma admite conversaciones en hilo con formato Markdown y proporciona herramientas administrativas para la moderación, incluyendo el bloqueo de usuarios y el anclaje de hilos. Incluye utilidades de gestión de datos para importar comentarios históricos de plataformas externas y exportar el estado del sistema mediante archivos locales o JSON. El servidor se entrega como un ejecutable independiente o imagen de Docker.
Implements system state and comment data persistence using a local embedded database file to avoid external server dependencies.
Este proyecto es un motor de similitud vectorial en C++ y una implementación del algoritmo Hierarchical Navigable Small World. Proporciona una librería header-only para realizar búsquedas aproximadas de vecinos más cercanos en espacios de alta dimensión, junto con bindings de Python que exponen estas capacidades de indexación y búsqueda a entornos de ciencia de datos. El motor permite la recuperación de embeddings en tiempo real y la búsqueda de similitud de alta dimensión utilizando una estructura de grafo multicapa para equilibrar la velocidad de búsqueda y la precisión. Soporta métricas de distancia personalizadas para calcular la similitud entre vectores en varios espacios matemáticos. El sistema cubre una amplia gama de operaciones de indexación, incluyendo la inserción incremental de vectores y la capacidad de marcar elementos como eliminados sin reconstruir el índice. También soporta búsqueda multi-vector, filtrado de resultados de búsqueda y persistencia basada en disco para guardar y recargar el estado del índice.
Implements the ability to serialize the in-memory graph structure to disk for session recovery.
MapDB es un motor de base de datos embebido y una biblioteca de colecciones respaldada por disco que almacena colecciones de Java en disco o fuera del heap (off-heap). Funciona como un motor de procesamiento de datos local diseñado para manejar conjuntos de datos que exceden la RAM física disponible. El proyecto utiliza almacenamiento de datos off-heap para eliminar la sobrecarga de la recolección de basura y emplea caché de desbordamiento en disco para equilibrar el uso de memoria y disco. Proporciona utilidades especializadas para filtrar y analizar grandes volúmenes de datos locales en una sola máquina. El sistema garantiza la integridad de los datos mediante transacciones compatibles con ACID y control de concurrencia multiversión. Soporta mapas, conjuntos y colas persistentes utilizando indexación B-tree y un registro de transacciones secuencial para la durabilidad. El comportamiento del sistema y las operaciones internas del motor pueden ser monitorizados a través de niveles de registro y formatos de salida configurables.
Maps collections like maps, sets, and queues directly to persistent storage to survive process restarts.
Tale es una plataforma de blogging autohospedada y sistema de gestión de contenido construido con Java. Funciona como un sistema de publicación Markdown que renderiza marcado ligero en páginas web estructuradas y almacena publicaciones y metadatos dentro de una base de datos incrustada para la portabilidad y copias de seguridad fáciles. El sistema se distingue por su capa visual altamente personalizable, que admite el diseño de skins personalizados, la instalación de temas externos y el desarrollo de plantillas utilizando directorios estructurados de activos. También cuenta con un sistema de plugins que permite la carga de paquetes de lógica externa y componentes personalizados durante el inicio de la aplicación para extender la funcionalidad principal. La plataforma proporciona un conjunto completo de herramientas de organización de contenido, incluyendo gestión de taxonomía mediante categorías y etiquetas, enlaces permanentes personalizables e incrustación de contenido de audio. Maneja todo el ciclo de vida de la aplicación como un proceso independiente, contando con utilidades integradas para copias de seguridad de bases de datos, exportación de datos y enrutamiento de activos entre servidores locales y redes de entrega de contenido (CDN). La configuración inicial del sitio se gestiona a través de una interfaz basada en web para crear la cuenta de administrador y la base de datos inicial.
Persists all application data and content in a self-contained embedded database file for portability.
tmuxp es un gestor de sesiones de tmux y orquestador de espacios de trabajo declarativo que automatiza la creación y organización de sesiones, ventanas y paneles. Funciona como un wrapper de automatización de libtmux, permitiendo a los usuarios definir diseños de terminal complejos y comandos de shell iniciales utilizando archivos de configuración YAML o JSON. El proyecto se distingue como una herramienta de instantáneas de diseño de terminal capaz de capturar el estado de una sesión en ejecución y guardarlo como una configuración reproducible. Además, soporta la automatización del flujo de trabajo de terminal ejecutando tareas de arranque y scripts de inicio para preparar entornos antes de lanzar sesiones interactivas. Sus capacidades más amplias incluyen la orquestación de terminales headless para pipelines automatizados, gestión de variables de entorno para resolución dinámica y una arquitectura de plugins para la construcción de sesiones personalizadas. El sistema también proporciona herramientas para la suspensión del estado de la sesión, captura de sesión en vivo e inspección de estado en tiempo real a través de una consola interactiva.
Captures the current state of a running tmux session and saves it as a reusable configuration file.
tmuxp es un gestor de sesiones y automatizador de espacios de trabajo para tmux. Permite la creación, guardado y restauración de diseños de sesiones de terminal utilizando archivos de configuración YAML o JSON, sirviendo como una capa programática construida sobre libtmux. El proyecto se distingue al actuar tanto como un generador de espacios de trabajo como un exportador de diseños. Puede instanciar entornos en vivo a partir de definiciones estructuradas y, a la inversa, capturar el estado de sesiones activas para guardarlas como archivos de configuración portátiles. Además, soporta la extensibilidad a través de un framework de plugins y lógica de construcción personalizada para modificar los ciclos de vida de las sesiones y la generación de espacios de trabajo. Las capacidades amplias incluyen la orquestación del flujo de trabajo de terminal y la automatización del entorno de desarrollo. La herramienta maneja la inyección de variables de entorno, herencia de configuración jerárquica y la ejecución de ganchos de inicio y comandos de shell a través de múltiples paneles. También proporciona utilidades para el aprovisionamiento de entornos headless y la inspección de sesiones en vivo. La herramienta está implementada en Python e interactúa con la interfaz de línea de comandos de tmux.
Saves an active terminal session arrangement to a file to be edited and replayed later.
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
Persists the entire embedded graph database to a single disk file for data durability and portability.
This project is a disk-backed key-value store and persistent data structure library for Python. It provides a mechanism for persisting mappings, sets, and queues to the local filesystem to bypass memory limitations and cache expensive function results across threads and processes. The system serves as a cross-process synchronization tool, offering distributed locks, semaphores, and barriers to coordinate shared resource access. It implements advanced caching strategies such as probabilistic stampede prevention, sharded data partitioning to increase throughput, and least-recently-used eviction
Implements queues and sorted sets that persist to the local filesystem to bypass memory limitations.