13 dépôts
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 est un mapper objet-relationnel (ORM) Java et une implémentation complète de l'API Jakarta Persistence. Il sert de couche d'abstraction de base de données SQL qui traduit les modèles d'objets Java en schémas de base de données relationnelle pour gérer la persistance et le cycle de vie des données. Le framework se distingue par un framework d'isolation de données multi-tenant pour séparer les données des clients au sein d'une même instance de base de données. Il dispose également d'un générateur de schéma de base de données qui produit et met à jour automatiquement les structures relationnelles basées sur les mappings d'entités. Le système couvre des domaines étendus comme la gestion des transactions, le contrôle de verrouillage de concurrence et le suivi des données temporelles pour l'audit. Il fournit des outils d'optimisation de récupération de données via des stratégies d'entity-graph et prend en charge des types de données avancés comme les données vectorielles et les caractères nationalisés. Le projet inclut une suite complète d'utilitaires de test pour la couche de persistance, incluant le filtrage par dialecte de base de données et les tests de conformité aux spécifications.
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 est un moteur de recherche distribué et un serveur d'indexation basé sur Go, conçu pour l'indexation et la récupération en texte intégral. Il fonctionne comme un système de récupération qui trie les documents par pertinence en utilisant des algorithmes de classement BM25, la fréquence des termes et la fréquence inverse de document (TF-IDF). Le moteur fournit un support spécialisé pour la langue chinoise, avec une segmentation de texte concurrente et un mappage phonétique Pinyin pour faire correspondre les entrées romanisées avec les caractères. Il utilise une architecture distribuée qui emploie le sharding d'index basé sur le hachage pour équilibrer la charge de données et le débit sur plusieurs nœuds de serveur. Le système couvre un large éventail de capacités de recherche, incluant l'exécution de requêtes en logique booléenne, le filtrage de proximité et la gestion du cycle de vie de l'index en temps réel. Il maintient un index rapide et interrogeable en mémoire tout en utilisant un stockage sur disque pour la persistance et la durabilité des données. Des outils de surveillance sont inclus pour suivre l'utilisation de la mémoire, du disque et du CPU dans l'environnement distribué.
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 est une infrastructure distribuée pour gérer le cycle de vie, l'adressage et la persistance d'acteurs stateful et de moteurs d'exécution durables. Il fournit un sandbox de processus distribué qui exécute la logique applicative au sein d'isolats légers, garantissant l'isolation des ressources et des démarrages à froid rapides. Le système est conçu pour coordonner des opérations multi-étapes en utilisant des files d'attente persistantes et des minuteurs pour garantir l'achèvement fiable des tâches dans des environnements distribués. La plateforme permet spécifiquement l'orchestration d'agents IA stateful qui maintiennent une mémoire et un état persistants à travers des interactions de longue durée et des workflows complexes. Elle se distingue par un framework de synchronisation d'état WebSocket qui lie les composants d'interface utilisateur frontend aux processus stateful distants via une communication bidirectionnelle en temps réel. Le système couvre un large éventail de capacités, incluant l'adressage hiérarchique d'acteurs, un runtime « hibernate-on-idle » pour l'optimisation des ressources, et une couche de persistance enfichable pour des backends de stockage modulaires. Il inclut également des outils pour le débogage de session active, la surveillance de l'état d'exécution en temps réel, et des options de déploiement automatisé pour l'edge, le cloud ou l'infrastructure privée. Le projet est implémenté en Rust et prend en charge le développement d'acteurs multi-langages.
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 est un espace de travail visuel conçu pour gérer des informations complexes via des graphes de connaissances basés sur des nœuds. Il fournit une interface de manipulation directe qui permet aux utilisateurs d'organiser les données en réseaux logiques, cartographiant les pensées non linéaires et les flux de travail de projet via des nœuds interconnectés et des liens bidirectionnels. Le système se distingue par un modèle de gestion d'état basé sur l'événementiel qui enregistre chaque modification comme une action discrète, permettant des capacités précises d'annulation et de rétablissement. Il intègre un moteur de mise en page réactif qui calcule automatiquement l'espacement des nœuds et les chemins de connexion lors de l'interaction pour maintenir la clarté visuelle et éviter le chevauchement des éléments. La plateforme prend en charge une gestion complète des connaissances visuelles, incluant des outils pour étiqueter les connexions, personnaliser la navigation de l'interface et structurer les données en graphes imbriqués. Pour garantir l'intégrité et les performances des données, le système utilise une persistance automatique en temps réel et une sérialisation binaire pour optimiser l'efficacité du stockage pour les grands jeux de données.
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.
Ce projet est une bibliothèque Ruby pour définir et gérer les cycles de vie des objets via des états, des événements et des règles de transition. Il fonctionne comme un moteur de workflow déclaratif qui applique la logique métier en restreignant les changements d'attributs à des chemins prédéfinis et valides au sein des classes Ruby. La bibliothèque se distingue par une intégration profonde avec les couches de persistance de base de données, lui permettant de synchroniser automatiquement les changements d'état avec les modèles de données, les frameworks de validation et la gestion des transactions. Elle prend en charge la configuration dynamique, permettant la construction de règles de cycle de vie au runtime à partir de sources de données externes, et fournit des outils de diagnostic tels que la visualisation graphique des relations d'état et l'analyse des chemins de transition pour auditer les workflows complexes. Au-delà de la gestion des transitions de base, le framework inclut un système de hooks piloté par des callbacks pour exécuter une logique personnalisée lors des mises à jour du cycle de vie et fournit des méthodes pour interroger le statut actuel de l'objet ou vérifier les transitions autorisées. Il dispose également d'une injection de méthode dynamique pour gérer les requêtes d'état et le déclenchement d'événements directement sur les objets.
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.