orm框架

orm框架是能够屏蔽底层数据库细节,提供统一的数据访问接口的数据库操作框架,另外能够支持客户端主从,分库,分表等特性。

Mybaties:最流行的orm框架;

jdbctemplate:spring orm提供,对于主从分离,分表需要自己实现;

TDDL:阿里的TDDL,主要用于解决分库分表场景下的访问路由(持久层与数据访问层的配合)以及异构数据库之间的数据同步,它是一个基于集中式配置的JDBC DataSource实现,具有分库分表、Master/Salve、动态数据源配置等功能。通过数据访问层部署在客户端jar包,用于将用户的sql路由到指定数据库,复杂度较高,文档较少,只开源了动态数据源,分表分库未开源,依赖diamond,不推荐使用;

sharding-jdbc:当当的,从datasource层面解决了分库分表,读写分离,对应用透明,0侵入;

阿里的Cobar:支持分布式,表水平拆分放入不同的库,不同的表放入不同的库,不可以将一个表拆分放入一个库;节点切换,主从,心跳检测,从到主手动,需配置主备双向同步,只支持mysql,不支持读写分离;

360的Atlas:主库宕机不影响读,DB可以手动添加从库。master/slave/slave;自己实现读写分离,分表,支持多个字表查询结果合并返回排序 ;不能实现分布式;

网易的DDB:DDB主要以两种方式向应用方提供服务:

一种是以JDBC的jar包形式为JAVA应用提供直接依赖,JAVA应用(如tomcat)通过依赖DDB提供的JDBC包实现透明访问分布式数据库集群中的各个分库分表,这种服务方式与淘宝TDDL如出一辙,我们称之为中间件模式。

另一种方式是为应用部署独立的DDBProxy服务来满足应用分库分表的需求,在这种方式下,应用通过标准JDBC访问Proxy,而Proxy则根据MySQL标准通信协议对客户端请求解析,还原应用SQL请求,然后通过本地的DDB JDBC访问数据库集群,最后再将得到的结果根据MySQL标准通信协议编码返回给客户端。这种服务方式与B2B的cobar以及现在阿里云的DRDS类似,不同的是DDB的Proxy与DDB在语法特性上一脉相承,而根据目前已有的资料来看,与TDDL相比DRDS在语法特性和事务支持上是有所阉割的。

开源的则有:Mycatkingshard

mycat:基于阿里开源的Cobar产品而研发;http://www.mycat.io/

kingshard:有一定的线上使用规模,使用Go开发高性能MySQLProxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。https://www.aliyun.com/jiaocheng/topic_78918_1.html

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值