1 / 5
文档名称:

分库分表策略的可实现架构.doc

格式:doc   大小:14KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

分库分表策略的可实现架构.doc

上传人:好用的文档 2022/1/30 文件大小:14 KB

下载得到文件列表

分库分表策略的可实现架构.doc

相关文档

文档介绍

文档介绍:分库分表策略的可实现架构
分库分表是解决MySQL水平扩展的主要手段。网上有关策略的讨论很多,主要是hash扩展、按时间扩展、按范围扩展等等。但真正想实施分库分表的朋友们往往觉得“策略听来终觉浅,觉知此事要代码”,因此本文的主分库分表策略的可实现架构
分库分表是解决MySQL水平扩展的主要手段。网上有关策略的讨论很多,主要是hash扩展、按时间扩展、按范围扩展等等。但真正想实施分库分表的朋友们往往觉得“策略听来终觉浅,觉知此事要代码”,因此本文的主要目的是给朋友们提供一个可实现架构。
JDBCTemplate和Hibernate
大家都知道hibernate是ORM(对象-关系数据库 mapping)意义上的第一个真正的“统治级”产品。JDBCTemplate则是对spring对jdbc的简单封装,相对于Hibernate,工程师需要自己写sql,而不是像Hibernate那样直接操作对象解决数据库持久化的问题。因为暴露了sql,JDBCTemplate当然也不利于跨数据库(毕竟每个数据库的实现产品的sql也不竟相同)。但现在大多数互联网企业都倾向于使用JDBCTemplate,而不是Hibernate。个人认为主要原因就是性能问题,

1,为获取更好性能,往往根据不同数据库采用特有的优化方式,即使是DAO层全部用Hibernate实现,迁移数据库也不是轻松的工作。
2,使用Hibernate处理关联关系往往将大量数据信息加载到业务系统内存,而不是在数据库系统中处理,只是将最终结果返回。这样破坏了生产系统和DB的解耦,导致DB优化困难,以及生产系统的不安全。
3,分库分表对于Hibernate来说显得比较复杂

可以说第三个原因是主要的。本文会围绕JDBCTemplate来实现分库分表,如果你还在使用Hibernate,建议逐渐切换到JDCBTemplate。

分库分表策略
分库分表策略,简单来说就是根据要被持久化的数据,分配一个库或者表来读/写。因此DBSplitStrategy接口定义如下,

Java代码 interface DBSplitStrategy { String getDBName(long id); // 获取库名 String getTableSuffix(long id); // 获取表名 JdbcTemplate getIdxJdbcTemplate(long id); // 获取db jt JdbcTemplate getIdxJdbcTemplate(String dbname); // 根据库名获取 db jt JdbcTemplate getIdxJdbcTemplateByTable(String table); // 根据表名获取db jt }
接口定义是围绕最基本的:key -> 逻辑库名/表名 -> 物理库名/表名

实现类 以最常见的HashSplit为例,首先我们需要几个基本的配置项:(1)基本库名,也可以叫库名前缀;(2)分库总数;(3)分表总数;(4)分库对应的物理地址,即JDBCTemplate定义
Spring 配置
<bean id="da

最近更新

最新北师大版四年级数学下册单元教材分析全册.. 5页

春节后复工动员会讲话 3页

新人教版小学数学四年级下册《小数大小的比较.. 9页

救护员培训试卷优选 4页

技能鉴定个人工作总结(精选6篇) 15页

心理咨询师个人简历模板 12页

小学数学 2023年江苏省南京市小升初数学模拟试.. 6页

对数函数(基础知识+基本题型)(含解析) 9页

学科前沿知识融入基础教育课堂教学路径研究--.. 2页

妇产科主治医师专业实践能力练习题 3页

外墙防水施工常识 4页

四年级下册数学教学计划人教版 4页

四川省【小升初】2023年小升初数学试卷带答案.. 5页

创新教育实验班(高中)招生试卷数学6(含答案) 4页

冀教版六年级数学下册《第三单元测试卷》(附答.. 6页

公司组织框架图与各部门职能说明 6页

体表肿块穿刺取样活检术临床诊疗规范样本 2页

人教部编版一年级语文下册同步练习识字1《春夏.. 4页

人教版小学六年级数学下册总复习(综合与实践).. 7页

2024年防震减灾作文(精选23篇) 28页

信用证结算协议书 12页

甲状腺疾病的流行病学与预防 27页

抗负过载双室供油装置与方法 5页

小学数学一年级下册《找规律》说课稿 8页

中成药注射剂的合理配伍与使用基础规范 5页

以旧换新备案申请书[5篇范例] 2页

《WindowsServer2012网络操作系统项目教程(第.. 27页

直腿后滚翻 25页

运营部平衡计分卡考核办法 10页

《GJB 1362A-2016 军工产品定型程序和要求》... 20页