awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
baomidou avatar

baomidou/dynamic-datasource

0
View on GitHub↗
5,177 estrellas·1,245 forks·Java·Apache-2.0·3 vistasdoc.xiuceyun.cn↗

Dynamic Datasource

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.

Features

  • Spring Boot Database Access - Provides a framework for Spring Boot that handles multiple database connections and switches between them at runtime.
  • Runtime Connection Configuration - Enables adding or modifying database connection settings without requiring an application restart.
  • Request Routing - Directs requests to specific database groups to support read-write splitting and master-slave replication.
  • Runtime Connection Management - Allows programmatically adding, removing, or switching database connection configurations while the application is running.
  • Dynamic Connection Switching - Evaluates dynamic parameters from sessions or headers to swap active database connections at runtime.
  • Read-Write Splitting - Routes traffic between master and slave databases to optimize performance and load balancing.
  • Tenant Request Routing - Directs application requests to different databases based on user sessions or headers to support multi-tenant architectures.
  • Multi-datasource Configurators - Provides a system for defining and switching between multiple named database connections within a single application.
  • Read-Write Splitting - Optimizes database performance by routing read queries to slave nodes and write queries to the master node.
  • Context-Aware Connection Selection - Determines the target database by retrieving routing keys from thread-local storage or request headers.
  • Dynamic Proxy Routing - Wraps the data source in a proxy that delegates queries to different physical connections based on the current context.
  • Connection Route Switching - Implements AOP-based interception to switch database connections dynamically based on annotations.
  • Secure Database Configurations - Protects sensitive database credentials in configuration files using encryption to prevent plain text exposure.
  • Lazy Connection Initialization - Delays the creation of database connections until the first request occurs to reduce startup time.
  • Lazy Connection Initialization - Postpones the creation of database connection pools until the first request to reduce startup time.
  • Runtime Configuration Refreshes - Updates the internal data source map and connection pools without restarting the application when configuration changes.
  • Credential Encryption - Protects sensitive connection information in configuration files using built-in or custom encryption methods.
  • Distributed Transaction Coordinators - Coordinates commit and rollback operations across multiple data sources by hooking into a distributed transaction coordinator.

Historial de estrellas

Gráfico del historial de estrellas de baomidou/dynamic-datasourceGráfico del historial de estrellas de baomidou/dynamic-datasource

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Dynamic Datasource

Proyectos open-source similares, clasificados según cuántas características comparten con Dynamic Datasource.
  • pgdogdev/pgdogAvatar de pgdogdev

    pgdogdev/pgdog

    3,361Ver en GitHub↗

    pgdog is a PostgreSQL sharding proxy, distributed SQL router, and connection pooler. It is designed to enable horizontal data distribution by splitting tables and indices across multiple independent servers to scale storage and processing capacity. The project distinguishes itself through online resharding capabilities, using logical replication to move data between shards without application downtime. It supports multiple routing strategies, including hash, list, and range-based query routing, and manages distributed atomic transactions using a two-phase commit process to ensure consistency

    Rustload-balancerpoolerpostgresql
    Ver en GitHub↗3,361
  • gaarason/database-allAvatar de gaarason

    gaarason/database-all

    1,033Ver en GitHub↗

    This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through

    Javadatabaseeloquenteloquent-orm
    Ver en GitHub↗1,033
  • go-xorm/xormAvatar de go-xorm

    go-xorm/xorm

    6,628Ver en GitHub↗

    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

    Gogolangmssqlmysql
    Ver en GitHub↗6,628
  • dotnetcore/freesqlAvatar de dotnetcore

    dotnetcore/FreeSql

    4,388Ver en GitHub↗

    FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro

    C#accessclickhousecodefirst
    Ver en GitHub↗4,388
Ver las 30 alternativas a Dynamic Datasource→

Preguntas frecuentes

¿Qué hace baomidou/dynamic-datasource?

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.

¿Cuáles son las características principales de baomidou/dynamic-datasource?

Las características principales de baomidou/dynamic-datasource son: Spring Boot Database Access, Runtime Connection Configuration, Request Routing, Runtime Connection Management, Dynamic Connection Switching, Read-Write Splitting, Tenant Request Routing, Multi-datasource Configurators.

¿Qué alternativas de código abierto existen para baomidou/dynamic-datasource?

Las alternativas de código abierto para baomidou/dynamic-datasource incluyen: pgdogdev/pgdog — pgdog is a PostgreSQL sharding proxy, distributed SQL router, and connection pooler. It is designed to enable… gaarason/database-all — This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify… go-xorm/xorm — xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries… dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… xkcoding/spring-boot-demo — This project is a comprehensive reference collection of practical implementation examples and patterns for building… thinkgem/jeesite — Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using…