11 repository-uri
Techniques for separating database read and write operations to improve scalability.
Distinct from Parallel Shard Reads and Writes: Shortlist candidates focused on educational implementations or shard-level parallel writes, not the architectural pattern of read-write splitting.
Explore 11 awesome GitHub repositories matching data & databases · Read-Write Splitting. Refine with filters or upvote what's useful.
Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using Spring Boot, MyBatis, and Vue. It functions as a comprehensive platform for creating administrative dashboards with integrated role-based access control and organizational data permission systems. The framework distinguishes itself through a combination of automated CRUD code generation and an integrated RAG platform that connects large language models to enterprise data via vector stores. It further incorporates a BPMN-based workflow engine to automate complex business process
Implements read-write splitting and sharding to handle high-volume enterprise data loads.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
Routes database operations to different servers by splitting read requests to replicas and write requests to the primary.
Kingshard is a MySQL database proxy and sharding middleware that routes SQL traffic between clients and multiple database nodes. It functions as a load balancer, read-write splitter, and SQL query firewall to manage how data is accessed and distributed across a database infrastructure. The system implements data sharding using hash, range, or date strategies to split tables across multiple nodes. It enables read-write splitting by directing data modification requests to a master node while distributing read-only queries across a pool of slave replicas. The proxy provides traffic management t
Separates database traffic by routing write operations to the master and read requests to replicas.
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
Implements separate read and write models to optimize data retrieval and state updates independently.
Blog.Core este un boilerplate de backend pregătit pentru producție, destinat construirii de API-uri enterprise și microservicii folosind ASP.NET Core. Oferă o infrastructură fundamentală pentru sisteme distribuite, inclusiv instrumente pentru scaffolding-ul bazat pe baza de date și implementarea de framework-uri API multi-tenant. Proiectul se distinge prin generarea automată a stratului de date, care produce modele de entități și straturi de repository direct din schemele bazei de date. Implementează un sistem centralizat de gestionare a identității folosind protocoale standard de server de identitate pentru a gestiona autentificarea și autorizarea în mai mulți clienți și proiecte. Framework-ul acoperă o gamă largă de capabilități enterprise, inclusiv procesarea asincronă a mesajelor prin event bus-uri, caching distribuit în memorie și separarea traficului de citire-scriere în baza de date. Încorporează controlul accesului bazat pe roluri cu restricții de date departamentale și oferă observabilitate a sistemului prin profilarea performanței API și auditarea activității. Sistemul include, de asemenea, suport pentru comunicarea bidirecțională server-client pentru notificări push, integrare de căutare full-text și configurare centralizată a serviciilor.
Implements architectural read-write splitting to route queries to replicas and updates to the primary database.
Acest proiect este un manager de surse de date dinamic pentru Spring Boot, conceput pentru a gestiona conexiuni multiple la baze de date și a comuta între ele la runtime. Oferă un sistem pentru gestionarea separării citire-scriere a bazei de date, coordonarea tranzacțiilor distribuite între baze de date disparate și actualizarea setărilor de conexiune fără a necesita repornirea aplicației. Framework-ul se diferențiază prin capacitatea sa de a ruta traficul pe baza sesiunilor sau header-elor utilizatorului pentru a susține arhitecturi multi-tenant. Include, de asemenea, un mecanism pentru criptarea credențialelor sensibile ale bazei de date în fișierele de configurare pentru a preveni expunerea în text clar. Suprafața de capabilități se extinde la rutarea conexiunilor la baza de date, separarea citire-scriere între nodurile master și slave și inițializarea leneșă a conexiunii pentru a reduce timpul de pornire. Gestionează în continuare consistența datelor prin controlul centralizat al tranzacțiilor și suportă adăugarea sau eliminarea la runtime a configurațiilor de conexiune la baza de date.
Optimizes database performance by routing read queries to slave nodes and write queries to the master node.
Goravel este un scaffold de dezvoltare complet și un framework pentru construirea de aplicații web, API-uri REST și servicii gRPC folosind limbajul de programare Go. Implementează o arhitectură model-view-controller și oferă un set de instrumente cuprinzător pentru servere și clienți de tip remote procedure call (RPC) de înaltă performanță. Framework-ul se distinge prin ecosistemul său integrat extins, care include un ORM (object-relational mapper) fluent pentru gestionarea bazelor de date și un toolkit CLI dedicat pentru automatizarea administrativă și scaffolding-ul proiectelor. Dispune de o abstractizare a serviciilor bazată pe drivere, care permite dezvoltatorilor să schimbe backend-urile de stocare, cache și sesiune fără a altera logica aplicației. Platforma acoperă o suprafață largă de capabilități pentru aplicații, inclusiv procesarea asincronă a sarcinilor cu cozi distribuite, gestionarea securizată a identității prin autentificare bazată pe token-uri și un strat robust de securitate cu criptare și control al accesului. Oferă, de asemenea, instrumente pentru localizarea conținutului, randarea de template-uri și o infrastructură de testare automatizată cu dependency mocking.
Provides the ability to separate database read and write operations to improve scalability by routing traffic to replicas.
Atlas este un proxy de bază de date MySQL și un sistem middleware conceput pentru a gestiona traficul între clienți și clusterele de baze de date. Acesta funcționează ca un gateway de bază de date de înaltă disponibilitate și middleware de sharding, oferind un punct de intrare tolerant la erori pentru rutare, load balancing și gestionarea conexiunilor la baza de date. Proiectul se diferențiază printr-o combinație de separare citire-scriere, care direcționează interogările către serverele primare sau replici, și sharding-ul datelor pentru a distribui informațiile pe mai multe instanțe backend. Utilizează un pooler de conexiuni pentru a reduce overhead-ul stabilirii de noi sesiuni și implementează rutarea conștientă de protocol pentru a intercepta și direcționa cererile clienților. Sistemul include capabilități pentru monitorizarea sănătății și failover automat pentru a asigura un serviciu continuu. Suportă controlul administrativ asupra disponibilității serverului backend, filtrarea IP-urilor clienților pentru controlul accesului și un mecanism pentru upgrade-uri fără downtime prin devierea traficului bazată pe semnal. Integritatea tranzacțiilor este gestionată prin rollback-uri automate la deconectarea neașteptată a clientului.
Separates database read and write operations by directing queries to replicas and modifications to the primary server.
FreeSql este un mapper obiect-relațional (ORM) .NET și un strat de acces la date care traduce codul orientat pe obiecte în SQL pentru mai mulți furnizori de baze de date relaționale. Funcționează ca un builder fluent de query-uri SQL și sincronizator de schemă de bază de date, permițând dezvoltatorilor să alinieze structurile tabelelor și indicilor bazei de date cu definițiile claselor de entități. Framework-ul este optimizat special pentru .NET Native AOT pentru a asigura amprente de memorie reduse și timpi de pornire mai rapizi. Include un manager de trafic al bazei de date pentru a distribui load-ul prin read-write splitting, sharding dinamic al tabelelor și izolare a datelor bazată pe chiriași (tenant). Capabilitățile largi includ ingestia de date de înaltă performanță folosind mecanisme de bulk copy specifice furnizorului, interogare avansată cu funcții de fereastră și CTE-uri recursive, și monitorizare bazată pe AOP pentru auditarea modificărilor de date. Sistemul oferă, de asemenea, instrumente de gestionare a schemei pentru migrări automate și utilitare de dezvoltare pentru generarea claselor de entități din metadatele bazei de date.
Implements routing strategies that separate read operations to replicas and write operations to a primary master database.
Acest proiect este un curs de interviuri tehnice și un ghid de studiu axat pe ingineria Java de nivel senior. Oferă un curriculum centrat pe designul de sistem, ingineria de înaltă concurență și construcția sistemelor distribuite. Resursele includ un ghid de strategie pentru baze de date distribuite și o referință pentru arhitectura de microservicii. Aceste materiale acoperă pattern-uri de design specifice pentru cozi de mesaje, sisteme distribuite și implementarea comunicării asincrone fiabile. Conținutul acoperă domenii largi de capabilități, inclusiv arhitectura motoarelor de căutare, optimizarea cache-ului distribuit și guvernanța traficului de servicii. De asemenea, detaliază pattern-uri arhitecturale precum sharding-ul bazelor de date, separarea citire-scriere, blocarea distribuită și service discovery.
Covers the architectural pattern of read-write splitting to separate database operations and improve scalability.
This project is a technical resource and pattern library for building enterprise applications with Python. It serves as a guide for implementing clean architecture, providing a framework for separating core business logic from infrastructure and external frameworks. The material focuses on Domain-Driven Design and the application of architectural patterns to maintain complex business requirements. It provides specific guidance on the Repository pattern for data abstraction, Command-Query Responsibility Segregation for optimizing read and write paths, and the use of dependency inversion to dec
Implements the separation of read and write models to optimize performance and simplify complex business logic.