Zdal使用指南.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Zdal使用指南

Zdal使用指南1.?? 分库分表概述1.1分库分表的目的? ? ? ?分库分表的主要目的是将数据进行垂直和水平切分,使同一张表的记录可以分散到不同的物理表乃至数据库上,减少单张表的大小,从而提高增删改查的效率。一般来说都会先分库再分表,数据记录先定位到数据库上,再定位到具体的表上。1.2传统的分库分表方式传统的分库分表方式有两种第一种是通过先对分库分表键进行哈希,然后再取模的方式计算出记录所处的库与表的位置,通常应用于无统一顺序号的表,具有良好的负载均衡能力。但当新增设备做水平扩展时,往往需要对数据进行迁移,带来额外的工作量第二种是通过顺序号分段的方式计算出记录所处的库与表的位置,通常应用于有统一顺序号的流水信息,具有比较好的扩展能力。但负载均衡能力较差,多张表时,只能一张表写满之后再写另一张表.2.?? ZDAL系统整体架构?zdal组件主要有5部分组成:1)??????? Zdal-client:开发编程接口,实现jdbc的Datasource,Connection,Statement,PreparedStatement,ResultSet等接口,实现通用的jdbc-sql访问,内部还实现读库重试,group数据源的选择器,表名替换,sql执行器等功能;2)??????? Zdal-parser:支持oracle/mysql/db2等数据库的sql语句解析,并且缓存;根据规则引擎提供的参数列表,在指定的sql中查找到需要的参数,然后返回拆分字段;3)??????? Zdal-rule:根据zdal-parser解析后的拆分字段值来确定逻辑库和物理表名;4)??????? Zdal-datasource:数据库连接的管理,支持mysql,oracle,db2数据库的连接管理;5)??????? Zdal-common:zdal组件所使用的一些公共组件类。?3.?? ZDAL配置说明?ZDAL需要三个配置:ZdalDataSource配置,appName-dbMode-ds.xml用于配置各个数据库的数据源,appName-dbMode-rule.xml用于配置分库分表规则。3.1?ZdalDataSource配置ZdalDataSource是ZDAL的对外接口,它对分库分表进行了封装,从上层看,ZdalDataSource就是一个普通的数据源。在程序中,通过使用ZdalDataSource完成对数据库的操作。?zdal数据源配置说明(com.alipay.zdal.client.jdbc.ZdalDataSource)属性名可用值说明属性名可用值说明appName必须与ZdalAppBean的appName属性值一致应用名appDsName必须与AppDataSourceBean的appDataSourceName属性值一致指定使用的应用数据源名称dbmode必须与ZdalAppBean的dbmode属性值一致数据库环境configPath指定两个配置文件所在目录的路径,两个配置文件必须位于同一目录下配置文件路径3.2 appName-dbMode-ds.xml数据源bean配置文件,例如:shard-dev-ds.xml?zdal应用Bean配置说明(com.alipay.zdal.client.config.bean.ZdalAppBean)属性名可用值说明属性名可用值说明appName无约束应用名dbmode无约束数据库环境appDataSourceList内容必须是存在的AppDataSourceBean的id应用数据源列表?zdal应用数据源Bean配置说明(com.alipay.zdal.client.config.bean.AppDataSourceBean)属性名可用值说明属性名可用值说明appDataSourceName无约束应用名dataBaseTypeDB2/ORACLE/MYSQL数据库类型,对应枚举DBType中的值configTypeGROUP/SHARD/SHARD_GROUP/SHARD_FAILOVER读写分离与分库分表类型配置,对应枚举DataSourceConfigType中的值appRule必须与AppRule的id一致分库分表规则physicalDataSourceSet内容必须是存在的PhysicalDataSourceBean的id物理数据源列表?物理数据源配置说明(com.alipay.zdal.client.config.bean.PhysicalDatasourceBean)属性名可用值说明属性名可用值说明Name无约束将被用在rule中用来指定数据源名jdbcUrl例如: jdbc:db2://02:6000/hcore数据库URLuserName无约束数据库用户名Pa

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档