常用分布式数据库插件有那些?

52 阅读2分钟

1、MyCat

描述:MyCat是一个开源的分布式数据库中间插件,实现了MySQL协议,可以看作是一个数据库代理。它支持MySQL原生协议与多个MySQL服务器通信,同时也支持JDBC协议与大多数主流数据库服务器通信。 特点: 实现了分表分库的功能,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或其他数据库里。 后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,以及MongoDB这种新型NoSQL方式的存储。 提供了读写分离、负载均衡等高级功能。 配置示例:通过配置/apps/mycat/conf/server.xml等文件,可以指定后端数据库的相关配置,实现读写分离等功能。

2、ShardingSphere

描述:ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,包括Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)等产品。 特点: 提供了标准化的数据分片、分布式事务和数据库治理功能。 适用于Java同构、异构语言、容器、云原生等各种多样化的应用场景。 Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供额外服务,无需额外部署和依赖。 兼容性:支持MySQL、Oracle、SQLServer、PostgreSQL等数据库,以及任何遵循SQL92标准的数据库。

3、其他插件

PG_CRON、PG_PATHMAN:针对PostgreSQL数据库的插件,分别提供了定时器脚本和分区脚本的功能。 ORACLE_FDW/MYSQL_FDW:用于PostgreSQL数据库连接Oracle、MySQL等其他数据库的外部数据包装器(Foreign Data Wrapper)。 FILE_FDW:用于PostgreSQL数据库直接读写数据文件的外部数据包装器。 POSTGRES_FDW:新标准的外连数据库的解决插件,支持定期取数更新功能。