13 Repos
Databases that prioritize in-memory processing for speed while maintaining real-time disk persistence for durability.
Distinct from In-Memory Buffering with WAL: Existing candidates focus on specific AI memory or time-series WAL buffers rather than general in-memory database architecture
Explore 13 awesome GitHub repositories matching data & databases · In-Memory Databases with Persistence. Refine with filters or upvote what's useful.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Combines sub-millisecond memory performance with append-only logging and checkpoints for durable data recovery.
Beanstalkd is a distributed work queue server designed for asynchronous job processing. It functions as a standalone server that distributes background tasks between producers and consumers to improve application responsiveness and throughput. The system organizes tasks using numeric priority levels to ensure critical work is processed first. It manages the job lifecycle through discrete states and uses a simple line-based text protocol over TCP for communication. To ensure reliability, the server persists job data to a sequential disk log, allowing the queue state to be recovered after a sy
Prioritizes in-memory processing for speed while utilizing a disk-based log 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
Buffers updates to external data stores to reduce request frequency and improve performance by decoupling operations.
Hibernate ORM ist ein Java-Object-Relational-Mapper und eine vollständige Implementierung der Jakarta Persistence API. Es dient als SQL-Datenbank-Abstraktionsschicht, die Java-Objektmodelle in relationale Datenbankschemata übersetzt, um Datenpersistenz und Lebenszyklen zu verwalten. Das Framework zeichnet sich durch ein Multi-Tenant-Datenisolations-Framework zur Trennung von Kundendaten innerhalb einer einzigen Datenbankinstanz aus. Es verfügt zudem über einen Datenbankschema-Generator, der automatisch relationale Strukturen basierend auf Entity-Mappings erstellt und aktualisiert. Das System deckt breite Funktionsbereiche ab, darunter Transaktionsmanagement, Concurrency-Locking-Kontrolle und temporale Datenverfolgung für Audit-Logging. Es bietet Tools zur Optimierung des Datenabrufs durch Entity-Graph-Strategien und unterstützt fortgeschrittene Datentypen wie Vektordaten und nationalisierte Zeichen. Das Projekt enthält eine umfassende Suite von Test-Utilities für die Persistenzschicht, einschließlich Datenbank-Dialekt-Filterung und Compliance-Tests für Spezifikationen.
Tracks modifications made to objects in memory and automatically persists those changes to the underlying database.
PyTorch Metric Learning is an open-source library for training neural networks to produce similarity-preserving embedding spaces. It provides a modular framework where interchangeable loss functions, mining strategies, and evaluation tools can be composed to learn representations that map similar items to nearby points and dissimilar items to distant points in the embedding space. The library distinguishes itself through a highly configurable architecture that separates concerns across several interchangeable components. Users can assemble custom loss functions from pluggable distance metrics
Implements cross-batch memory queues that store embeddings from previous iterations for contrastive learning.
Riot ist eine Go-basierte verteilte Suchmaschine und ein Indexierungsserver, der für Volltextindexierung und -abruf entwickelt wurde. Er fungiert als Abrufsystem, das Dokumente nach Relevanz unter Verwendung von BM25-Ranking-Algorithmen, Termfrequenz und inverser Dokumentfrequenz sortiert. Die Engine bietet spezialisierte Unterstützung für die chinesische Sprache, einschließlich gleichzeitiger Textsegmentierung und phonetischer Pinyin-Zuordnung, um romanisierte Eingaben mit Schriftzeichen abzugleichen. Sie nutzt eine verteilte Architektur, die Hash-basiertes Index-Sharding einsetzt, um Datenlast und Durchsatz über mehrere Serverknoten hinweg auszugleichen. Das System deckt ein breites Spektrum an Suchfunktionen ab, einschließlich der Ausführung von Booleschen Logikabfragen, Proximity-Filterung und Echtzeit-Index-Lebenszyklusmanagement. Es unterhält einen schnellen, durchsuchbaren Index im Arbeitsspeicher, während es disk-basierte Speicherung für Datenpersistenz und Haltbarkeit nutzt. Überwachungstools sind enthalten, um die Speicher-, Festplatten- und CPU-Auslastung in der verteilten Umgebung zu verfolgen.
Combines high-performance in-memory indexing with persistent disk storage to ensure data durability.
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
Runs an embedded database with optional file persistence for development and testing.
Rivet ist eine verteilte Infrastruktur zur Verwaltung des Lebenszyklus, der Adressierung und der Persistenz von zustandsbehafteten Akteuren (Actors) und dauerhaften Ausführungs-Engines. Es bietet eine verteilte Prozess-Sandbox, die Anwendungslogik innerhalb leichtgewichtiger Isolates ausführt, was Ressourcenisolierung und schnelle Kaltstarts gewährleistet. Das System ist darauf ausgelegt, mehrstufige Operationen mittels persistenter Queues und Timer zu koordinieren, um eine zuverlässige Aufgabenerledigung in verteilten Umgebungen zu garantieren. Die Plattform ermöglicht spezifisch die Orchestrierung von zustandsbehafteten KI-Agenten, die persistentes Gedächtnis und Status über lang laufende Interaktionen und komplexe Workflows hinweg beibehalten. Sie zeichnet sich durch ein WebSocket-Status-Synchronisations-Framework aus, das Frontend-UI-Komponenten über bidirektionale Echtzeitkommunikation an entfernte zustandsbehaftete Prozesse bindet. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich hierarchischer Akteur-Adressierung, einer Hibernate-on-Idle-Laufzeit zur Ressourcenoptimierung und einer austauschbaren Persistenzschicht für modulare Speicher-Backends. Es enthält zudem Tools für aktives Session-Debugging, Echtzeit-Überwachung des Ausführungsstatus und automatisierte Bereitstellungsoptionen für Edge-, Cloud- oder private Infrastrukturen. Das Projekt ist in Rust implementiert und unterstützt die Akteur-Entwicklung in mehreren Sprachen.
Manages long-lived processes with in-memory state that is automatically synchronized to a database for high-performance access.
This project is a desktop-based bibliographic reference manager designed to organize academic research libraries and automate citation workflows. It functions as a research assistant that integrates directly with word processors and text editors, enabling users to insert and format references while writing. The application is built on a Java-based portable runtime, allowing it to operate as a self-contained tool that stores preferences and data in local configuration files. The platform distinguishes itself through a modular plugin architecture and a commitment to human-readable, text-based f
Saves the bibliographic database to disk immediately after every modification.
Project-graph is a visual workspace designed for managing complex information through node-based knowledge graphs. It provides a direct manipulation interface that allows users to organize data into logical networks, mapping non-linear thoughts and project workflows through interconnected nodes and bidirectional links. The system distinguishes itself through an event-sourced state management model that records every modification as a discrete action, enabling precise undo and redo capabilities. It incorporates a reactive layout engine that automatically calculates node spacing and connection
Automatically persists document changes in real time to ensure continuous progress preservation.
Legend-State is a reactive state management library for JavaScript applications that provides a centralized container for application data. It utilizes a fine-grained reactivity engine to track state access automatically, allowing developers to update and retrieve data without the need for boilerplate patterns like reducers, actions, or dispatchers. The library distinguishes itself through its hierarchical, path-based state addressing and proxy-based dependency tracking. By isolating state dependencies, it ensures that user interface updates are triggered only for the specific components that
Automatically persists application state to local storage to ensure consistency across sessions.
Dieses Projekt ist eine Ruby-Bibliothek für die Definition und Verwaltung von Objekt-Lebenszyklen durch Zustände, Ereignisse und Übergangsregeln. Sie fungiert als deklarative Workflow-Engine, die Geschäftslogik durchsetzt, indem sie Attributänderungen auf vordefinierte, gültige Pfade innerhalb von Ruby-Klassen beschränkt. Die Bibliothek zeichnet sich durch eine tiefe Integration mit Datenbank-Persistenzschichten aus, wodurch sie Zustandsänderungen automatisch mit Datenmodellen, Validierungs-Frameworks und Transaktionsmanagement synchronisieren kann. Sie unterstützt dynamische Konfiguration, was die Erstellung von Lebenszyklusregeln zur Laufzeit aus externen Datenquellen ermöglicht, und bietet Diagnose-Tools wie die grafische Visualisierung von Zustandsbeziehungen und die Analyse von Übergangspfaden, um komplexe Workflows zu auditieren. Über das reine Übergangsmanagement hinaus enthält das Framework ein Callback-gesteuertes Hook-System für die Ausführung benutzerdefinierter Logik während Lebenszyklus-Updates und bietet Methoden für die Abfrage des aktuellen Objektstatus oder die Verifizierung erlaubter Übergänge. Es bietet zudem dynamische Methodeninjektion, um Zustandsabfragen und Ereignisauslösungen direkt auf Objekten zu handhaben.
Synchronizes state changes with database layers to handle validation, transactions, and persistence.
FalkorDB is a high-performance graph database management system and vector graph database. It serves as a knowledge graph construction tool and a GraphRAG knowledge store, integrating structured property graphs with vector search to provide grounded context for large language models. The engine is designed as a multi-tenant graph engine, capable of hosting thousands of isolated datasets within a single instance. The system distinguishes itself by using linear algebra for query execution, treating relationship tensors as matrix multiplications to achieve low-latency multi-hop traversals. It ut
Combines high-speed memory operations for queries with real-time disk persistence to ensure data durability.