admin 管理员组

文章数量: 887021


2024年1月10日发(作者:网页特效常用的脚本语言有)

shardingjdbc面试题

Sharding-JDBC是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。

Sharding-JDBC定位为轻量级java框架,使用客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式,可理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。

Sharding-JDBC完整的实现了分库分表,读写分离和分布式主键功能,并初步实现了柔性事务。从2016年开源至今,在经历了整体架构的数次精炼以及稳定性打磨后,如今它已积累了足够的底蕴,相信可以成为开发者选择技术组件时的一个参考。

1.分库分表SQL解析功能完善,支持聚合,分组,排序,LIMIT,TOP等查询,并且支持级联表以及笛卡尔积的表查询

支持内、外连接查询

分片策略灵活,可支持=,BETWEEN,IN等多维度分片,也可支持多分片键共用,以及自定义分片策略

基于Hint的强制分库分表路由2.读写分离—主多从的读写分离配置,可配合分库分表使用

基于Hint的强制主库路由

3.柔性事务最大努力送达型事务

TCC型事务(TBD)

4.分布式主键统—的分布式基于时间序列的ID生成器

5.兼容性可适用于任何基于java的ORM框架,如:JPA,

Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC

可基于任何第三方的数据库连接池,如:DBCP,C3PO,BoneCP,

Druid等

理论上可支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL


本文标签: 支持 分布式 分库 分表