12 个仓库
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 12 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 是一个 Go 语言的嵌入式键值存储数据库。它提供本地数据持久化和索引,允许应用使用唯一键存储和检索信息,而无需单独的服务器。 该数据库使用日志结构合并树(LSM-tree)和按字典顺序排列的持久化索引来组织数据。这种结构支持高效的范围扫描和基于前缀的搜索。 该系统包含用于原子批量写入的功能,以确保数据一致性并避免部分更新。性能通过预写日志(WAL)、基于内存的缓冲和布隆过滤器进行管理,以减少不必要的磁盘输入和输出。
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 is a self-hosted, privacy-focused commenting engine designed for websites and blogs. It functions as a standalone application that can be deployed as a single binary or a containerized image across different operating systems. The system allows a single instance to host commenting services for multiple distinct domains through multi-site management. It utilizes an identity layer that verifies users via email, anonymous accounts, or social providers using OAuth authentication. The platform supports threaded conversations with Markdown formatting and provides administrative tools for
Implements system state and comment data persistence using a local embedded database file to avoid external server dependencies.
该项目是一个 C++ 向量相似度引擎,实现了分层可导航小世界(HNSW)算法。它提供了一个仅包含头文件的库,用于在高维空间中执行近似最近邻搜索,并附带 Python 绑定,将这些索引和搜索功能暴露给数据科学环境。 该引擎利用多层图结构平衡搜索速度和准确性,实现实时嵌入检索和高维相似度搜索。它支持自定义距离度量,以计算各种数学空间中向量之间的相似度。 该系统涵盖了广泛的索引操作,包括增量向量插入以及在不重建索引的情况下标记元素为已删除的能力。它还支持多向量搜索、搜索结果过滤以及基于磁盘的持久化,以保存和重新加载索引状态。
Implements the ability to serialize the in-memory graph structure to disk for session recovery.
MapDB 是一个嵌入式数据库引擎和磁盘支持的集合库,将 Java 集合存储在磁盘或堆外内存中。它作为一个本地数据处理引擎,旨在处理超过可用物理内存(RAM)的数据集。 该项目利用堆外数据存储来消除垃圾回收开销,并采用磁盘溢出缓存来平衡内存和磁盘使用。它为在单台机器上过滤和分析海量本地数据提供了专门的实用程序。 该系统通过符合 ACID 的事务和多版本并发控制(MVCC)确保数据完整性。它支持使用 B 树索引和用于持久性的顺序事务日志的持久化映射、集合和队列。 系统行为和内部引擎操作可以通过可配置的日志级别和输出格式进行监控。
Maps collections like maps, sets, and queues directly to persistent storage to survive process restarts.
Tale 是一个使用 Java 构建的自托管博客平台和内容管理系统。它作为 Markdown 发布系统,将轻量级标记渲染为结构化网页,并将帖子和元数据存储在嵌入式数据库中,以便于移植和备份。 该系统以其高度可定制的视觉层而著称,支持自定义皮肤设计、外部主题安装以及使用结构化资源目录开发模板。它还具有一个插件系统,允许在应用程序启动期间加载外部逻辑包和自定义组件,以扩展核心功能。 该平台提供了一整套内容组织工具,包括通过类别和标签进行的分类管理、可自定义的固定链接以及音频内容嵌入。它将整个应用程序生命周期作为一个独立进程进行处理,并具有用于数据库备份、数据导出以及本地服务器与内容分发网络之间资源路由的内置实用程序。 初始站点设置通过用于创建管理员帐户和初始数据库的 Web 界面进行管理。
Persists all application data and content in a self-contained embedded database file for portability.
tmuxp 是一个 tmux 会话管理器和声明式工作区编排器,可自动化会话、窗口和窗格的创建与组织。它作为一个 libtmux 自动化封装器,允许用户使用 YAML 或 JSON 配置文件定义复杂的终端布局和初始 Shell 命令。 该项目作为一个终端布局快照工具脱颖而出,能够捕获运行中会话的状态并将其保存为可重现的配置。它进一步支持终端工作流自动化,通过执行引导任务和启动脚本,在启动交互式会话之前准备环境。 其更广泛的能力包括用于自动化管道的无头终端编排、用于动态解析的环境变量管理,以及用于自定义会话构建的插件架构。该系统还提供用于会话状态挂起、实时会话捕获以及通过交互式控制台进行实时状态检查的工具。
Captures the current state of a running tmux session and saves it as a reusable configuration file.
tmuxp 是一个 tmux 的会话管理器和工作区自动化工具。它允许使用 YAML 或 JSON 配置文件创建、保存和恢复终端会话布局,作为构建在 libtmux 之上的程序化层。 该项目通过同时充当工作区生成器和布局导出器而脱颖而出。它可以从结构化定义中实例化实时环境,反之亦然,捕获活动会话的状态并将其保存为便携式配置文件。它进一步通过插件框架和自定义构建器逻辑支持扩展性,以修改会话生命周期和工作区生成。 广泛的能力包括终端工作流编排和开发环境自动化。该工具处理环境变量注入、分层配置继承,以及跨多个窗格执行启动钩子和 Shell 命令。它还提供用于无头环境配置和实时会话检查的实用程序。 该工具使用 Python 实现,并与 tmux 命令行界面进行交互。
Saves an active terminal session arrangement to a file to be edited and replayed later.
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.