24 Repos
Coordination strategies between local server caches and distributed stores to optimize data updates.
Distinct from Distributed Data Caching Layers: Focuses on the hierarchy and synchronization between different caching tiers, not just distributed layers.
Explore 24 awesome GitHub repositories matching data & databases · Multi-level Caching. Refine with filters or upvote what's useful.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Coordinates local server caches and distributed stores via message queues to minimize backend load during updates.
RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured Merge-trees. It is designed to provide durable storage for large-scale datasets, integrating directly into applications to manage data on flash and RAM-based hardware. The engine is distinguished by its focus on minimizing read and write amplification through multi-threaded compaction and custom memory allocators. It features specialized optimizations for flash storage, including support for zoned block devices, and provides the ability to extend store behavior via external plugin
Merges smaller sorted files into larger ones across multiple levels to reclaim space and minimize write amplification.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Manages a hierarchy of registers and caches to minimize data movement latency and maximize memory bandwidth.
Open-IM-Server is an instant messaging server and cross-platform messaging backend designed for real-time text and media communication. It provides a distributed chat architecture that coordinates user sessions and group communications across multiple server nodes to support millions of concurrent users. The system features a scalable message distribution model that utilizes asynchronous message pipelines and distributed queueing to maintain reliability during traffic spikes. It employs multi-level data caching across local memory and distributed stores to reduce latency and uses a document-b
Reduces latency via multi-level data caching across local memory and distributed stores.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Implements a second-level cache to store frequently accessed entities and collections across sessions.
XiangShan is a high-performance RISC-V processor core and a hardware description language framework. It provides a construction-based system for designing, simulating, and verifying complex processor micro-architectures and peripheral devices. The project includes a high-performance CPU simulator used for architectural exploration and functional verification of processor execution. The project implements a superscalar out-of-order CPU architecture that uses renaming and reorder buffers to execute instructions in parallel. It generates synthesizable Verilog files from hardware descriptions to
Implements a non-blocking cache hierarchy that tracks pending requests to prevent pipeline stalls during memory misses.
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.
Maintains a session-scoped map of entity identifiers to object instances to ensure referential integrity.
Upspin is a decentralized naming and storage system that provides an end-to-end encrypted file system. It assigns every user a unique identity and organizes files within a global, permissioned namespace where data is encrypted on the client before transmission. The system separates identity resolution from data storage using a public-key identity provider and a key-server architecture. This allows for decentralized identity management and the resolution of usernames to specific directory and storage server addresses. The project includes a hierarchical access control system that manages read
Implements block-level caching of storage data to accelerate repeated retrieval of encrypted blocks.
Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write synchronization, and automatic background compaction that merges and rewrites sorted runs to reclaim space and maintain read performanc
Automatically merges and rewrites sorted runs across multiple levels in the background to reclaim space.
HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL APIs interactively. The project distinguishes itself through its comprehensive tooling ecosystem, which includes a GraphQL c
Caches fetched entities in memory so subsequent requests for the same key return instantly.
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
Implements second-level caching of entities by primary key for faster retrieval.
JetCache ist ein Java-Caching-Framework, das eine einheitliche Schnittstelle für die Verwaltung von Anwendungsdaten bereitstellt. Es fungiert als Two-Level-Cache-Manager, der lokalen In-Memory-Speicher und entfernte verteilte Caches koordiniert, um Netzwerklatenz zu reduzieren und Abrufgeschwindigkeiten zu verbessern. Das Projekt zeichnet sich durch seine deklarative Caching-Bibliothek aus, die Annotationen verwendet, um die Speicherung, den Ablauf und die Invalidierung von Methodenergebnissen zu automatisieren. Es beinhaltet einen verteilten Cache-Synchronisierer, um die Konsistenz durch die Invalidierung lokaler Einträge über Cluster-Instanzen hinweg zu wahren, sowie ein verteiltes Sperr-Tool zur Koordinierung des Zugriffs auf gemeinsam genutzte Ressourcen. Das Framework deckt ein breites Spektrum an Leistungs- und Stabilitätsfunktionen ab, einschließlich nicht-blockierendem asynchronem Abruf, automatischem Hintergrund-Cache-Refreshing und Request-Collapsing, um Cache-Penetration zu verhindern. Es bietet zudem programmatisches Cache-Management, austauschbare Serialisierungsstrategien und Sicherheitsfunktionen wie Allow-List-Deserialisierungsfilterung.
Coordinates a fast local in-memory layer with a persistent remote distributed store to optimize latency and scalability.
OpenTSDB ist eine verteilte Zeitreihendatenbank und Metrics-Engine, die für die Speicherung und Verwaltung massiver Mengen hochkardinaler Systemmetriken entwickelt wurde. Es fungiert als Datenspeicher und Analyseplattform, die groß angelegte Metrik-Ingestion und Infrastruktur-Performance-Monitoring über einen verteilten Cluster hinweg ermöglicht. Das System zeichnet sich durch eine verteilte Speicherabstraktion aus, die mehrere Backends wie HBase, Cassandra und Google Bigtable unterstützt. Es nutzt einen hierarchischen Metrikbaum zur Organisation von Zeitreihen und verwendet numerische Identifikator-Indizierung, um den Speicherbedarf zu reduzieren und Suchvorgänge für getaggte Metriken zu beschleunigen. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Zeitreihendatenanalyse mit verteilten Perzentilberechnungen und Downsampling sowie umfassendem Metadatenmanagement. Es bietet API-Integration für Datenaufnahme und -abfrage, Off-Heap-Caching zur Performance-Optimierung sowie Tools für die Datenintegritätsprüfung und Anomalieanalyse. Das System wird über eine Kommandozeilenschnittstelle für die Datenbankadministration und die Synchronisation des Metrikbaums verwaltet.
Utilizes block-level caching and off-heap memory to minimize disk I/O during data write and retrieval processes.
Dieses Projekt bietet eine formale Spezifikation und eine Reihe von Standard-Java-Interfaces für die asynchrone Stream-Verarbeitung. Es definiert ein standardisiertes Protokoll für die Weitergabe von Elementsequenzen zwischen Publishern und Subscribern über verschiedene Threads hinweg, wobei der Fokus auf einer Reactive-Streams-Spezifikation für die JVM liegt. Das Projekt konzentriert sich auf Interoperabilität durch die Bereitstellung einer gemeinsamen API, die es ermöglicht, dass verschiedene asynchrone Streaming-Bibliotheken zusammenarbeiten. Dies wird durch einen Standardsatz von Interfaces und Bridging-Mechanismen erreicht, die zwischen inkompatiblen Streaming-Spezifikationen übersetzen. Die Spezifikation deckt ein nicht-blockierendes Backpressure-Protokoll ab, um den Datenfluss zu regulieren und Systemüberlastungen zu verhindern, indem Subscriber aufgefordert werden, Bedarf zu signalisieren. Sie definiert zudem den Lebenszyklus von Streams, einschließlich Abonnement-Management, Elementverarbeitung und signalbasierter Beendigung zur Ressourcenbereinigung. Das Projekt enthält ein Framework zur Überprüfung des Stream-Verhaltens, um die Verarbeitungslogik gegen Regeln für Backpressure und asynchrone Ereignisse zu validieren.
Implements architectural patterns for building data processing stages that avoid thread locking and resource waste.
Unbound ist ein DNS-Resolver, der als Caching-, rekursiver und validierender Server fungiert. Er übersetzt Domainnamen in IP-Adressen, indem er unabhängige Lookups im Internet durchführt oder Anfragen an externe Resolver weiterleitet. Das Projekt zeichnet sich als programmierbarer DNS-Server aus und bietet eine Python-Skriptschnittstelle sowie das dynamische Laden von Shared Libraries, um die Auflösungspipeline anzupassen. Es dient zudem als DNS64-NAT64-Gateway, das IPv6-Adressen aus IPv4-Datensätzen synthetisiert, um die Kommunikation für IPv6-only-Clients zu ermöglichen. Das System enthält Sicherheits-Frameworks für die kryptografische DNSSEC-Validierung und die Verschlüsselung von DNS-Datenverkehr, um Cache-Poisoning und Abhören zu verhindern. Seine Fähigkeiten erstrecken sich auf richtlinienbasierte Antwortfilterung, mehrstufiges Caching mit externen Datenbank-Backends und die Bereitstellung lokaler Zonen-Daten. Die administrative Kontrolle wird über eine sichere Remote-Schnittstelle zum Senden verschlüsselter Befehle an den laufenden Server verwaltet.
Provides multi-level response caching using local memory and external database backends to reduce latency.
InternetArchitect ist eine pädagogische Sammlung von Dokumenten und Quellcode, die als Kurs für Hochverfügbarkeitsarchitektur konzipiert ist. Sie dient als Implementierungsleitfaden für verteilte Systeme und bietet technische Patterns und praktische Beispiele für das Design skalierbarer Internetarchitekturen, die unter hoher Verkehrslast stabil bleiben. Das Projekt konzentriert sich auf hochperformante Datenbankoptimierung und Microservices-Design-Patterns. Es deckt Strategien zur Latenzreduzierung und Durchsatzsteigerung durch Datenbank-Sharding und Proxy-Layer ab sowie die Koordination des globalen Zustands über verteilte Cluster hinweg. Der architektonische Umfang umfasst mehrstufige Caching-Strategien zur Beschleunigung des Datenabrufs und die Implementierung von Service-Discovery-Frameworks zur Verwaltung der Kommunikation zwischen entkoppelten Microservices. Es adressiert zudem die Koordination verteilter Zustände und die Nutzung von Load-Balancing-Meshes zur Verteilung des Netzwerkverkehrs auf Backend-Server.
Coordinates local in-process memory and remote distributed caches to optimize data retrieval speed in high-traffic environments.
MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c
Implements level-based compaction to merge overlapping sorted runs and bound read amplification.
Rainloop Webmail ist eine selbstgehostete, browserbasierte E-Mail-Anwendung, die sich via IMAP- und SMTP-Protokollen mit externen Mailservern verbindet. Sie arbeitet als zustandsloser Client, der Daten direkt von Servern abruft, ohne eine lokale Datenbank zur Speicherung von Nachrichten zu benötigen. Das System unterstützt Multi-Account-E-Mail-Management, wodurch Benutzer mehrere E-Mail-Identitäten für den gleichzeitigen Zugriff über verschiedene Browser-Tabs mit einer einzigen Session verknüpfen können. Es enthält ein Plugin-basiertes Erweiterungssystem sowie Tools für die Anpassung der Benutzeroberfläche und Branding. Die Anwendung bietet Funktionen für die Automatisierung von E-Mail-Workflows, einschließlich Filtern eingehender Mails und automatischer Abwesenheitsnotizen. Zudem integriert sie sich mit externen Cloud-Speicheranbietern, um Dateianhänge innerhalb von Nachrichten zu erleichtern, und nutzt mehrstufiges Response-Caching zur Optimierung des Datenabrufs.
Utilizes a multi-level caching strategy to store frequently accessed server data and reduce network latency.
Dieses Projekt ist ein Bildungs-Framework und Toolkit, das für die Entwicklung und das Testen von Betriebssystem-Kerneln konzipiert ist. Es bietet eine strukturierte Umgebung für die Implementierung grundlegender System-Primitive, einschließlich virtueller Speicherverwaltung, präemptiver Prozessplanung und Dateisystemorganisation, unter Verwendung von Rust und C. Das Framework ist speziell auf RISC-V- und x86-Architekturen ausgerichtet und dient als Labor für das Erlernen der Entwicklung von Kernsystemsoftware von Grund auf. Das Projekt zeichnet sich dadurch aus, dass es sowohl Bare-Metal-Deployment als auch Hardware-Emulation unterstützt, was es Entwicklern ermöglicht, die Kernel-Logik auf physischer Hardware oder in simulierten Umgebungen zu validieren. Es enthält eine umfassende Build-Toolchain, die architekturübergreifende Kompilierung und Firmware-Initialisierung handhabt und sicherstellt, dass der Kernel korrekt gebootstrappt und auf verschiedenen Zielplattformen ausgeführt werden kann. Das System deckt ein breites Spektrum an Low-Level-Funktionen ab, einschließlich Hardware-Abstraktionsschichten, die die Systemlogik von spezifischen Prozessordesigns entkoppeln, und System-Call-Schnittstellen, die die Grenze zwischen User-Space-Anwendungen und Kernel-Services verwalten. Es integriert zudem Observability-Funktionen wie Runtime-Logging und Ausführungsüberwachung, um die Analyse des Systemverhaltens während der Entwicklung zu unterstützen.
Optimizes persistent storage access by maintaining an in-memory buffer of frequently used data blocks to reduce latency.
Mini-LSM ist eine pädagogische Storage-Engine und Key-Value-Datenbankbibliothek, die dazu dient, die Implementierung der Log-Structured-Merge-Tree-Architektur zu demonstrieren. Sie dient als pädagogische Ressource zum Verständnis des Aufbaus hochperformanter Speichersysteme von Grund auf, mit Fokus auf die Mechanik persistenter Datenstrukturen und diskbasierter Speicherung. Das Projekt bietet ein funktionales Framework zur Datenverwaltung durch Memory-to-Disk-Flushing und Multi-Version-Concurrency-Control. Es zeichnet sich durch die Implementierung von Snapshot-basierter Isolation aus, die konsistente Sichten auf den Datenbankzustand während gleichzeitiger Operationen ermöglicht, und nutzt Leveled-Compaction-Strategien zur Organisation von Datendateien und zur Optimierung der Lese-Performance. Die Engine deckt ein breites Spektrum an Speicherverwaltungsfunktionen ab, einschließlich Write-Ahead-Logging für Crash-Recovery und probabilistischer Indizierung zur Minimierung von Disk-I/O. Sie enthält zudem eine Suite von Verifizierungs-Utilities und Test-Tools, die darauf ausgelegt sind, die Integrität von Speicheroperationen zu validieren und bei der Diagnose von Concurrency-Problemen zu helfen.
Organizes data files into distinct levels and merges them to reclaim space and maintain read performance bounds.