9 Repos
Tools for parsing and transforming database transaction logs into structured data streams.
Distinguishing note: Focuses on high-throughput log parsing rather than general database management.
Explore 9 awesome GitHub repositories matching data & databases · Log Processing Engines. Refine with filters or upvote what's useful.
Canal is a database replication middleware that performs change data capture by simulating a database replica. It monitors transaction logs to stream incremental data modifications to downstream systems in real time, acting as an event streaming infrastructure that transforms low-level binary logs into structured, consumable message streams. The project distinguishes itself through a high-throughput architecture that utilizes concurrent multi-threaded parsing and stateful log position tracking to ensure reliable data delivery. It employs a pluggable sink architecture that decouples data extra
Processes high-volume database logs using parallel worker threads to maximize throughput and minimize latency.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Reduce storage requirements by keeping only the latest value for each key in a log to enable efficient state reconstruction and snapshotting of historical data streams.
NeDB is a JavaScript embedded NoSQL document store designed for Node.js and the browser. It functions as an in-memory data store with the option to persist documents to a local file system, ensuring data survives application restarts. The project utilizes a MongoDB-compatible API to perform data operations, allowing it to serve as a lightweight document indexing system and a persistent file database without requiring a separate database server. Capabilities include querying, inserting, updating, and deleting documents, as well as the ability to create indexes on specific fields to accelerate
Provides log compaction to remove obsolete records and reclaim disk space by rewriting the data log.
ToyDB is a distributed SQL database that provides a system for storing and querying data across multiple nodes. It focuses on maintaining strong consistency and fault tolerance through the implementation of a distributed consensus algorithm. The project distinguishes itself by supporting historical data versioning, enabling time-travel queries to retrieve the state of the database from a specific point in the past. It utilizes multi-version concurrency control to manage ACID transactions and ensure data integrity during concurrent operations. The system covers relational data modeling with t
Implements log compaction to remove obsolete data markers and keep only the most recent version of each key.
Dieses Projekt ist eine chinesische Übersetzung des ursprünglichen Forschungspapiers, das das Raft-Konsensprotokoll detailliert beschreibt. Es dient als technische Forschungsübersetzung und Leitfaden für Konsensprotokolle und macht die Spezifikationen des Raft-Algorithmus für chinesischsprachige Personen zugänglich. Die Dokumentation deckt die Kernmechanismen verteilter Systeme ab, einschließlich Leader-Wahl, Log-Replikation und Sicherheitsprotokollen. Sie bietet eine detaillierte Erklärung, wie eine einzige Quelle der Wahrheit über mehrere Server hinweg aufrechterhalten wird, um eine fehlertolerante Cluster-Verwaltung zu erreichen. Das Material adressiert verteilte Zustandsmaschinen-Replikation und Log-Management. Es behandelt technische Konzepte wie Heartbeat-gesteuertes Liveness-Tracking, Wahlen mit randomisierten Timeouts, termbasierte Konsistenz-Versionierung und Snapshot-basiertes Log-Compaction.
Describes replacing log sequences with state snapshots to save space and accelerate recovery.
m3 ist eine verteilte Zeitreihendatenbank, die für hochauflösende Metriken und die Verwaltung von Daten mit hoher Kardinalität entwickelt wurde. Sie fungiert als skalierbares Speichersystem und Multi-Cluster-Query-Engine und bietet einen verteilten Metrik-Aggregator, der Daten vor dem Speichern downsamplen und zusammenfassen kann. Das Projekt zeichnet sich durch ein koordiniertes Clustermodell aus, das etcd für die Knotenmitgliedschaft und Shard-Platzierung nutzt. Es unterstützt mehrere Ingestion-Protokolle, einschließlich des Prometheus-Remote-Write-Protokolls, des InfluxDB-Line-Protokolls und des Graphite-Carbon-Plaintext-Protokolls, und bietet kompatible Query-Schnittstellen für PromQL und Graphite. Das System deckt breite Funktionsbereiche ab, einschließlich spaltenorientierter Zeitreihenspeicherung, synchroner Datenreplikation und verteiltem Query-Fan-out. Es integriert Daten-Lifecycle-Automatisierung, Quorum-basiertes Konsistenz-Tuning und Tag-basierte Serienindizierung, um Datenintegrität und Abfragegeschwindigkeit über isolierte Namespaces hinweg aufrechtzuerhalten. Cluster-Orchestrierung und Komponentenplatzierung werden durch automatisierte Tools und Operatoren verwaltet, um hohe Verfügbarkeit und eine ausgewogene Datenverteilung sicherzustellen.
Reclaims disk space and improves startup times by transforming raw commit logs into compressed snapshot files.
braft is an embeddable C++ library that implements the Raft consensus algorithm, providing a distributed consensus engine for building fault-tolerant, replicated state machines. At its core, it manages leader election, log replication, cluster membership changes, and state machine synchronization across a cluster of nodes, ensuring strong consistency and data durability even in the face of node failures. The library distinguishes itself through a comprehensive set of mechanisms for reliable distributed coordination. It uses a randomized timeout-based leader election process with term manageme
Periodically snapshots the state machine and truncates the log to prevent unbounded log growth.
sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,
Provides snapshot-based log compaction to truncate obsolete logs and accelerate node recovery.
NutsDB is an ACID-compliant, embedded transactional storage engine that functions as both a disk-backed key-value store and an in-memory data structure store. It provides atomic and serializable transactions with commit and rollback capabilities to ensure strict data consistency for applications requiring a lightweight persistence layer. The engine distinguishes itself by supporting a variety of complex data types, including lists, sets, and sorted sets, alongside standard byte-slice storage. It implements a transactional storage model featuring hot backups and a compaction algorithm to maint
Implements log compaction to retain only the latest value for each key, reclaiming space and optimizing reads.