13 dépôts
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 est une base de données de stockage clé-valeur embarquée pour Go. Elle fournit une persistance et une indexation des données locales, permettant aux applications de stocker et de récupérer des informations en utilisant des clés uniques sans nécessiter de serveur séparé. La base de données organise les données en utilisant un arbre de fusion structuré en journal (LSM-tree) et une indexation persistante dans l'ordre lexicographique. Cette structure prend en charge les scans de plage efficaces et les recherches basées sur les préfixes. Le système inclut des capacités pour les écritures par lots atomiques afin d'assurer la cohérence des données et d'éviter les mises à jour partielles. Les performances sont gérées via le write-ahead logging, la mise en mémoire tampon et les filtres de Bloom pour réduire les entrées/sorties disque inutiles.
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 est un moteur de commentaires auto-hébergé axé sur la confidentialité, conçu pour les sites web et les blogs. Il fonctionne comme une application autonome pouvant être déployée sous forme de binaire unique ou d'image conteneurisée sur différents systèmes d'exploitation. Le système permet à une instance unique d'héberger des services de commentaires pour plusieurs domaines distincts via une gestion multi-site. Il utilise une couche d'identité qui vérifie les utilisateurs via email, comptes anonymes ou fournisseurs sociaux utilisant l'authentification OAuth. La plateforme prend en charge les conversations en fil (threaded) avec formatage Markdown et fournit des outils administratifs pour la modération, incluant le blocage d'utilisateurs et l'épinglage de fils de discussion. Elle inclut des utilitaires de gestion de données pour importer des commentaires historiques depuis des plateformes externes et exporter l'état du système via des fichiers locaux ou JSON. Le serveur est livré sous forme d'exécutable autonome ou d'image Docker.
Implements system state and comment data persistence using a local embedded database file to avoid external server dependencies.
Ce projet est un moteur de similarité vectorielle en C++ et une implémentation de l'algorithme Hierarchical Navigable Small World. Il fournit une bibliothèque header-only pour effectuer des recherches approximatives de plus proches voisins dans des espaces de haute dimension, ainsi que des bindings Python qui exposent ces capacités d'indexation et de recherche aux environnements de science des données. Le moteur permet la récupération d'embeddings en temps réel et la recherche de similarité en haute dimension en utilisant une structure de graphe multicouche pour équilibrer la vitesse de recherche et la précision. Il prend en charge des métriques de distance personnalisées pour calculer la similarité entre les vecteurs dans divers espaces mathématiques. Le système couvre une large gamme d'opérations d'indexation, incluant l'insertion incrémentale de vecteurs et la possibilité de marquer des éléments comme supprimés sans reconstruire l'index. Il prend également en charge la recherche multi-vecteurs, le filtrage des résultats de recherche et la persistance sur disque pour sauvegarder et recharger l'état de l'index.
Implements the ability to serialize the in-memory graph structure to disk for session recovery.
MapDB est un moteur de base de données embarqué et une bibliothèque de collections supportée par disque qui stocke les collections Java sur disque ou hors-tas (off-heap). Il fonctionne comme un moteur de traitement de données local conçu pour gérer des ensembles de données qui dépassent la RAM physique disponible. Le projet utilise le stockage de données hors-tas pour éliminer la surcharge du garbage collection et emploie la mise en cache par débordement sur disque pour équilibrer l'utilisation de la mémoire et du disque. Il fournit des utilitaires spécialisés pour filtrer et analyser de grands volumes de données locales sur une seule machine. Le système assure l'intégrité des données via des transactions conformes ACID et un contrôle de concurrence multi-version. Il prend en charge les maps, sets et files persistants utilisant l'indexation B-tree et un journal de transaction séquentiel pour la durabilité. Le comportement du système et les opérations internes du moteur peuvent être surveillés via des niveaux de journalisation configurables et des formats de sortie.
Maps collections like maps, sets, and queues directly to persistent storage to survive process restarts.
Tale est une plateforme de blogging auto-hébergée et un système de gestion de contenu construit avec Java. Il fonctionne comme un système de publication Markdown qui rend le balisage léger en pages web structurées et stocke les publications et les métadonnées dans une base de données intégrée pour la portabilité et des sauvegardes faciles. Le système se distingue par sa couche visuelle hautement personnalisable, prenant en charge la conception de skins personnalisés, l'installation de thèmes externes et le développement de templates en utilisant des répertoires structurés d'actifs. Il dispose également d'un système de plugins qui permet le chargement de packages de logique externes et de composants personnalisés lors du démarrage de l'application pour étendre les fonctionnalités de base. La plateforme fournit une suite complète d'outils d'organisation de contenu, notamment la gestion de la taxonomie via des catégories et des étiquettes, des permaliens personnalisables et l'intégration de contenu audio. Il gère l'intégralité du cycle de vie de l'application en tant que processus autonome, incluant des utilitaires intégrés pour la sauvegarde de base de données, l'exportation de données et le routage d'actifs entre les serveurs locaux et les réseaux de diffusion de contenu (CDN). La configuration initiale du site est gérée via une interface web pour créer le compte administrateur et la base de données initiale.
Persists all application data and content in a self-contained embedded database file for portability.
tmuxp is a tmux session manager and declarative workspace orchestrator that automates the creation and organization of sessions, windows, and panes. It functions as a libtmux automation wrapper, allowing users to define complex terminal layouts and initial shell commands using YAML or JSON configuration files. The project distinguishes itself as a terminal layout snapshot tool capable of capturing the state of a running session and saving it as a reproducible configuration. It further supports terminal workflow automation by executing bootstrap tasks and startup scripts to prepare environment
Captures the current state of a running tmux session and saves it as a reusable configuration file.
tmuxp is a session manager and workspace automator for tmux. It allows for the creation, saving, and restoration of terminal session layouts using YAML or JSON configuration files, serving as a programmatic layer built on libtmux. The project distinguishes itself by acting as both a workspace generator and a layout exporter. It can instantiate live environments from structured definitions and conversely capture the state of active sessions to save them as portable configuration files. It further supports extensibility through a plugin framework and custom builder logic to modify session lifec
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.