Java中支持分库分表的框架/组件/中间件简介

文章目录

  • [1 sharding-jdbc](#1 sharding-jdbc)
  • [2 TSharding](#2 TSharding)
  • [3 Atlas](#3 Atlas)
  • [4 Cobar](#4 Cobar)
  • [5 MyCAT](#5 MyCAT)
  • [6 TDDL](#6 TDDL)
  • [7 Vitess](#7 Vitess)

列举一些比较常见的,简单介绍一下:

sharding-jdbc(当当)

TSharding(蘑菇街)

Atlas(奇虎360)

Cobar(阿里巴巴)

MyCAT(基于Cobar)

TDDL(淘宝)

Vitess(谷歌)

1 sharding-jdbc

首先,第一个,可能也是最常见最常用的,Sharding-JDBC,这个是最早的名字,现在已经发展成为ShardingSphere,生态,详细介绍及使用方法请移步:Sharding-JDBC介绍及实践

2 TSharding

用于蘑菇街交易平台的分库分表组件,很少的资源投入即可开发完成,支持交易订单表的Sharding需求,分库又分表,支持数据源路由,支持事务,支持结果集合并,支持读写分离。

3 Atlas

基于MySQL-Proxy上二次开发的,主要支持两个特性:分表和读写分离,但是分表的话只支持单库多表,即事实上是不支持分布式分表的,所有分表都在同一个库中。

4 Cobar

阿里的关系型数据的分布式处理系统,以proxy的形式位于前台应用和实际数据库之间,对前台的开放的接口是mysql通信协议。将前台SQL语句变更并按照数据分布规则转发到合适的后台数据分库,再合并返回结果,模拟单库下的数据库行为。

5 MyCAT

实现了 MySQL 协议 的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问, 而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数 主流数据库服务器通信,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离。

6 TDDL

主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。

7 Vitess

是Youtube开源的数据库扩展及高可用方案,已经用于生产环境,功能强大,但是构架复杂,部署及运维成本较高。

相关推荐
m0_459252464 分钟前
fastadmin动态渲染统计信息
开发语言·前端·javascript·php
MegaDataFlowers15 分钟前
快速上手Spring
java·后端·spring
小江的记录本15 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
左左右右左右摇晃17 分钟前
Java 笔记--OOM产生原因以及解决方法
java·笔记
大傻^21 分钟前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
傻啦嘿哟22 分钟前
Python 操作 Excel 条件格式指南
开发语言·python·excel
逆境不可逃23 分钟前
LeetCode 热题 100 之 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
java·开发语言·数据结构·算法·leetcode·职场和发展
码界奇点29 分钟前
基于Spring Boot的医院药品管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
小旭952733 分钟前
Spring MVC :从入门到精通(下)
java·后端·spring·mvc
夏语灬34 分钟前
MySQL大小写敏感、MySQL设置字段大小写敏感
java