10 repositorios
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 10 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 es un boilerplate de backend listo para producción para construir API empresariales y microservicios utilizando ASP.NET Core. Proporciona una infraestructura fundamental para sistemas distribuidos, incluyendo herramientas para scaffolding de base de datos y la implementación de frameworks de API multi-inquilino (multi-tenant). El proyecto se distingue por la generación automatizada de la capa de datos, que produce modelos de entidad y capas de repositorio directamente a partir de esquemas de base de datos. Implementa un sistema centralizado de gestión de identidad utilizando protocolos estándar de servidor de identidad para manejar la autenticación y autorización a través de múltiples clientes y proyectos. El framework cubre una amplia gama de capacidades empresariales, incluyendo procesamiento de mensajes asíncronos mediante buses de eventos, caché de memoria distribuida y división de tráfico de base de datos de lectura-escritura. Incorpora control de acceso basado en roles con restricciones de datos departamentales y proporciona observabilidad del sistema mediante perfilado de rendimiento de API y auditoría de actividades. El sistema también incluye soporte para comunicación bidireccional servidor-cliente para notificaciones push, integración de búsqueda de texto completo y configuración centralizada de servicios.
Implements architectural read-write splitting to route queries to replicas and updates to the primary database.
Este proyecto es un gestor de fuentes de datos dinámicas para Spring Boot diseñado para manejar múltiples conexiones de bases de datos y cambiar entre ellas en tiempo de ejecución. Proporciona un sistema para gestionar la división de lectura-escritura de bases de datos, coordinar transacciones distribuidas en bases de datos dispares y actualizar la configuración de conexión sin requerir un reinicio de la aplicación. El framework se diferencia por su capacidad para enrutar el tráfico según las sesiones o encabezados de usuario para admitir arquitecturas multi-inquilino. También incluye un mecanismo para cifrar credenciales de bases de datos sensibles dentro de archivos de configuración para evitar la exposición en texto plano. La superficie de capacidades se extiende al enrutamiento de conexiones de bases de datos, división de lectura-escritura entre nodos maestros y esclavos, y la inicialización de conexión diferida para reducir el tiempo de inicio. Además, gestiona la consistencia de los datos a través del control centralizado de transacciones y admite la adición o eliminación en tiempo de ejecución de configuraciones de conexión de bases de datos.
Optimizes database performance by routing read queries to slave nodes and write queries to the master node.
Goravel es un scaffold de desarrollo y framework completo para construir aplicaciones web, APIs REST y servicios gRPC utilizando el lenguaje de programación Go. Implementa una arquitectura modelo-vista-controlador y proporciona un kit de herramientas integral para servidores y clientes de llamadas a procedimientos remotos de alto rendimiento. El framework se distingue por su extenso ecosistema integrado, que incluye un mapeador objeto-relacional fluido para la gestión de bases de datos y un kit de herramientas de interfaz de línea de comandos dedicado para la automatización administrativa y el scaffolding de proyectos. Cuenta con una abstracción de servicios basada en controladores que permite a los desarrolladores intercambiar backends de almacenamiento, caché y sesiones sin alterar la lógica de la aplicación. La plataforma cubre una amplia superficie de capacidades de aplicación, incluyendo el procesamiento de tareas asíncronas con colas distribuidas, gestión de identidad segura mediante autenticación basada en tokens y una capa de seguridad robusta con cifrado y control de acceso. También proporciona herramientas para la localización de contenido, renderizado de plantillas e infraestructura de pruebas automatizada con mocking de dependencias.
Provides the ability to separate database read and write operations to improve scalability by routing traffic to replicas.
Atlas es un proxy de base de datos MySQL y sistema middleware diseñado para gestionar el tráfico entre clientes y clusters de bases de datos. Funciona como una pasarela de base de datos de alta disponibilidad y middleware de sharding, proporcionando un punto de entrada tolerante a fallos para el enrutamiento, balanceo de carga y gestión de conexiones de base de datos. El proyecto se diferencia por una combinación de división de lectura-escritura, que dirige las consultas a servidores primarios o réplicas, y sharding de datos para distribuir información a través de múltiples instancias backend. Utiliza un pool de conexiones para reducir la sobrecarga de establecer nuevas sesiones e implementa enrutamiento consciente del protocolo para interceptar y dirigir las solicitudes del cliente. El sistema incluye capacidades para el monitoreo de salud y conmutación por error automatizada para asegurar un servicio continuo. Admite control administrativo sobre la disponibilidad del servidor backend, filtrado de IP de cliente para control de acceso y un mecanismo para actualizaciones sin tiempo de inactividad mediante la desviación de tráfico impulsada por señales. La integridad de las transacciones se gestiona mediante reversiones automáticas tras desconexiones inesperadas del cliente.
Separates database read and write operations by directing queries to replicas and modifications to the primary server.
FreeSql es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
Implements routing strategies that separate read operations to replicas and write operations to a primary master database.
Este proyecto es un curso de entrevistas técnicas y guía de estudio centrado en la ingeniería Java de nivel senior. Proporciona un plan de estudios centrado en el diseño de sistemas, ingeniería de alta concurrencia y la construcción de sistemas distribuidos. Los recursos incluyen una guía de estrategia de bases de datos distribuidas y una referencia de arquitectura de microservicios. Estos materiales cubren patrones de diseño específicos para colas de mensajes, sistemas distribuidos y la implementación de comunicación asíncrona fiable. El contenido abarca áreas de capacidad amplias, incluyendo arquitectura de motores de búsqueda, optimización de caché distribuida y gobernanza de tráfico de servicios. También detalla patrones arquitectónicos como el sharding de bases de datos, la separación de lectura y escritura, el bloqueo distribuido y el descubrimiento de servicios.
Covers the architectural pattern of read-write splitting to separate database operations and improve scalability.