24 repository-uri
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 este un mapper obiect-relațional pentru Java și o implementare completă a Jakarta Persistence API. Acționează ca un strat de abstractizare pentru baze de date SQL care traduce modelele de obiecte Java în scheme de baze de date relaționale pentru a gestiona persistența și ciclurile de viață ale datelor. Framework-ul se distinge printr-un sistem de izolare a datelor multi-tenant pentru separarea datelor clienților în cadrul unei singure instanțe de bază de date. De asemenea, dispune de un generator de scheme de baze de date care produce și actualizează automat structurile relaționale pe baza mapărilor de entități. Sistemul acoperă domenii vaste, inclusiv gestionarea tranzacțiilor, controlul concurenței prin blocare și urmărirea datelor temporale pentru audit. Oferă instrumente pentru optimizarea interogărilor prin strategii de tip entity-graph și suportă tipuri de date avansate, cum ar fi datele vectoriale și caracterele naționalizate. Proiectul include o suită cuprinzătoare de utilitare de testare pentru stratul de persistență, inclusiv filtrarea dialectelor de baze de date și testarea conformității cu specificațiile.
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 este un framework de caching Java care oferă o interfață unificată pentru gestionarea datelor aplicației. Funcționează ca un manager de cache pe două niveluri, coordonând stocarea locală în memorie și cache-urile distribuite la distanță pentru a reduce latența rețelei și a îmbunătăți viteza de recuperare. Proiectul se distinge prin biblioteca sa de caching declarativ, care utilizează adnotări pentru a automatiza stocarea, expirarea și invalidarea rezultatelor metodelor. Include un sincronizator de cache distribuit pentru a menține consistența prin invalidarea intrărilor locale în instanțele clusterului și un instrument de blocare distribuită pentru a coordona accesul la resursele partajate. Framework-ul acoperă o gamă largă de capabilități de performanță și stabilitate, inclusiv recuperarea asincronă non-blocantă, reîmprospătarea automată a cache-ului în fundal și colapsarea cererilor pentru a preveni penetrarea cache-ului. De asemenea, oferă gestionare programatică a cache-ului, strategii de serializare pluggable și funcționalități de securitate precum filtrarea deserializării prin allow-list.
Coordinates a fast local in-memory layer with a persistent remote distributed store to optimize latency and scalability.
OpenTSDB este o bază de date distribuită de serii temporale și un motor de metrici conceput pentru stocarea și gestionarea unor volume masive de metrici de sistem cu cardinalitate ridicată. Acesta funcționează ca un depozit de date și o platformă de analiză care permite ingestia de metrici la scară largă și monitorizarea performanței infrastructurii într-un cluster distribuit. Sistemul se distinge printr-o abstractizare a stocării distribuite care suportă mai multe backend-uri, cum ar fi HBase, Cassandra și Google Bigtable. Utilizează un arbore ierarhic de metrici pentru a organiza seriile temporale și folosește indexarea cu identificatori numerici pentru a reduce amprenta de stocare și a accelera căutările pentru metricile etichetate. Proiectul acoperă domenii largi de capabilități, inclusiv analiza datelor de serii temporale cu calcule distribuite de percentile și downsampling, precum și gestionarea cuprinzătoare a metadatelor. Oferă integrare API pentru ingestia și interogarea datelor, caching off-heap pentru optimizarea performanței și instrumente pentru auditarea integrității datelor și analiza anomaliilor. Sistemul este gestionat printr-o interfață linie de comandă pentru administrarea bazei de date și sincronizarea arborelui de metrici.
Utilizes block-level caching and off-heap memory to minimize disk I/O during data write and retrieval processes.
Acest proiect oferă o specificație formală și un set de interfețe Java standard pentru procesarea fluxurilor asincrone. Definește un protocol standardizat pentru transmiterea secvențelor de elemente între publisheri și subscriberi pe diferite thread-uri, concentrându-se pe o specificație de fluxuri reactive pentru JVM. Proiectul se concentrează pe interoperabilitate prin furnizarea unui API comun care permite diferitelor biblioteci de streaming asincron să lucreze împreună. Acest lucru este realizat printr-un set standard de interfețe și mecanisme de bridging care traduc între specificații de streaming incompatibile. Specificația acoperă un protocol de backpressure non-blocant pentru a regla fluxul de date și a preveni supraîncărcarea sistemului, solicitând subscriberilor să semnaleze cererea. De asemenea, definește ciclul de viață al fluxurilor, inclusiv gestionarea abonamentelor, procesarea elementelor și terminarea bazată pe semnale pentru curățarea resurselor. Proiectul include un framework pentru verificarea comportamentului fluxului, pentru a valida logica de procesare în raport cu regulile pentru backpressure și evenimente asincrone.
Implements architectural patterns for building data processing stages that avoid thread locking and resource waste.
Unbound este un resolver DNS care funcționează ca un server de caching, recursiv și de validare. Acesta traduce numele de domenii în adrese IP prin efectuarea de căutări independente pe internet sau prin redirecționarea interogărilor către resolveri externi. Proiectul se distinge ca un server DNS programabil, oferind o interfață de scripting Python și încărcarea dinamică a bibliotecilor partajate pentru a personaliza pipeline-ul de rezoluție. De asemenea, servește drept gateway DNS64 NAT64, sintetizând adrese IPv6 din înregistrări IPv4 pentru a permite comunicarea pentru clienții doar IPv6. Sistemul include framework-uri de securitate pentru validarea criptografică DNSSEC și criptarea traficului DNS pentru a preveni cache poisoning-ul și interceptarea. Capabilitățile sale se extind la filtrarea răspunsurilor bazată pe politici, caching pe mai multe niveluri cu backend-uri de baze de date externe și livrarea datelor de zonă de autoritate locală. Controlul administrativ este gestionat printr-o interfață securizată la distanță pentru trimiterea de comenzi criptate către serverul care rulează.
Provides multi-level response caching using local memory and external database backends to reduce latency.
InternetArchitect este o colecție educațională de documente și cod sursă concepută ca un curs de arhitectură cu grad ridicat de concurență. Servește drept ghid de implementare a sistemelor distribuite, oferind tipare tehnice și exemple practice pentru proiectarea arhitecturilor internet scalabile care mențin stabilitatea sub sarcini de trafic intense. Proiectul se concentrează pe optimizarea bazelor de date de înaltă performanță și tiparele de design pentru microservicii. Acoperă strategii pentru reducerea latenței și creșterea throughput-ului prin sharding-ul bazelor de date și straturi de proxy, precum și coordonarea stării globale în clustere distribuite. Sfera arhitecturală include strategii de caching pe mai multe niveluri pentru a accelera regăsirea datelor și implementarea framework-urilor de service discovery pentru a gestiona comunicarea între microservicii decuplate. De asemenea, abordează coordonarea stării distribuite și utilizarea mesh-urilor de load balancing pentru a distribui traficul de rețea către serverele backend.
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 este o aplicație de e-mail auto-găzduită, bazată pe browser, care se conectează la serverele de mail externe folosind protocoalele IMAP și SMTP. Operează ca un client stateless, preluând datele direct de la servere fără a necesita o bază de date locală pentru a stoca mesajele. Sistemul suportă gestionarea e-mailurilor pentru mai multe conturi, permițând utilizatorilor să lege mai multe identități de e-mail la o singură sesiune pentru acces simultan prin diferite tab-uri ale browserului. Include un sistem de extensii bazat pe plugin-uri și instrumente pentru personalizarea interfeței utilizator și branding. Aplicația oferă capabilități pentru automatizarea fluxului de lucru al e-mailului, inclusiv filtrarea e-mailurilor primite și răspunsuri automate de vacanță. De asemenea, se integrează cu furnizorii de stocare în cloud externi pentru a facilita atașamentele de fișiere în cadrul mesajelor și utilizează caching-ul de răspuns pe mai multe niveluri pentru a optimiza preluarea datelor.
Utilizes a multi-level caching strategy to store frequently accessed server data and reduce network latency.
Acest proiect este un framework educațional și un set de instrumente conceput pentru dezvoltarea și testarea kernel-urilor de sistem de operare. Oferă un mediu structurat pentru implementarea primitivelor fundamentale de sistem, inclusiv gestionarea memoriei virtuale, programarea preemptivă a proceselor și organizarea sistemului de fișiere, folosind Rust și C. Framework-ul este orientat în mod specific către arhitecturile RISC-V și x86, servind drept laborator pentru învățarea modului de construire a software-ului de bază al sistemului de la zero. Proiectul se distinge prin suportul atât pentru implementarea pe bare-metal, cât și pentru emularea hardware, permițând dezvoltatorilor să valideze logica kernel-ului pe hardware fizic sau în medii simulate. Include un toolchain complet de build care gestionează compilarea cross-arhitectură și inițializarea firmware-ului, asigurând că kernel-ul poate fi corect bootstrapat și executat pe diferite platforme țintă. Sistemul acoperă o gamă largă de capabilități de nivel scăzut, inclusiv straturi de abstractizare hardware care decuplează logica sistemului de design-urile specifice ale procesoarelor și interfețe de apeluri de sistem care gestionează limita dintre aplicațiile user-space și serviciile kernel-ului. De asemenea, încorporează funcții de observabilitate, cum ar fi logarea la runtime și monitorizarea execuției, pentru a asista la analiza comportamentului sistemului în timpul dezvoltării.
Optimizes persistent storage access by maintaining an in-memory buffer of frequently used data blocks to reduce latency.
Mini-LSM is an educational storage engine and key-value database library designed to demonstrate the implementation of log-structured merge-tree architecture. It serves as a pedagogical resource for understanding how to build high-performance storage systems from the ground up, focusing on the mechanics of persistent data structures and disk-based storage. The project provides a functional framework for managing data through memory-to-disk flushing and multi-version concurrency control. It distinguishes itself by implementing snapshot-based isolation, which allows for consistent views of the
Organizes data files into distinct levels and merges them to reclaim space and maintain read performance bounds.