数据库 分库分表
2017-12-16 11:05
211 查看
1 概述
Sharding-JDBC是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。他定位为轻量级java框架,使用客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式,可理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。
2 功能列表
支持内、外连接查询
分片策略灵活,可支持=,BETWEEN,IN等多维度分片,也可支持多分片键共用,以及自定义分片策略
基于Hint的强制分库分表路由
基于Hint的强制主库路由
TCC型事务(TBD)
可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等
理论上可支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL
Spring命名空间
YAML
Inline表达式
Sharding-JDBC是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。他定位为轻量级java框架,使用客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式,可理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。
2 功能列表
2.1 分库分表
SQL解析功能完善,支持聚合,分组,排序,LIMIT,TOP等查询,并且支持级联表以及笛卡尔积的表查询支持内、外连接查询
分片策略灵活,可支持=,BETWEEN,IN等多维度分片,也可支持多分片键共用,以及自定义分片策略
基于Hint的强制分库分表路由
2.2 读写分离
一主多从的读写分离配置,可配合分库分表使用基于Hint的强制主库路由
2.3 柔性事务
最大努力送达型事务TCC型事务(TBD)
2.4 分布式主键
统一的分布式基于时间序列的ID生成器2.5 兼容性
可适用于任何基于java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等
理论上可支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL
2.6 灵活多样的配置
JavaSpring命名空间
YAML
Inline表达式
相关文章推荐
- 数据库为什么要分库分表
- 关系型数据库分库分表解决方案
- 【分布式架构之旅-理论篇】数据库分库分表
- 数据库(分库分表)中间件对比
- 【数据库】分库分表
- 学会数据库读写分离、分表分库——用Mycat,这一篇就够了!
- 秋色园QBlog技术原理解析:性能优化篇:数据库文章表分表及分库减压方案(十五)
- Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解
- 数据库的分库分表拆分:垂直拆分,水平拆分
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
- 数据库分库分表策略的具体实现方案
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
- Windows环境Mycat数据库分库分表中间件部署
- 数据库分表、分库及读写分离的基本概念
- MYSQL性能优化之数据库的分库分表
- 超大数据量存储常用数据库分表分库算法总结
- 数据库(分库分表)中间件对比
- Mycat 数据库分库分表中间件
- 淘宝TDDL数据库分库分表
- 数据库为什么要分库分表