Zdal使用指南

更新时间:2023-05-22 05:35:37 阅读: 评论:0

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-parr:支持oracle/mysql/db2等数据库的sql语句解析,并且缓存;根据规则引擎提供的参数列表,在指定的sql中查找到需要的参数,然后返回拆分字段;
3)        Zdal-rule:根据zdal-parr解析后的拆分字段值来确定逻辑库和物理表名;
4)        Zdal-datasource:数据库连接的管理,支持mysql,oracle,db2数据库的连接管理;
5)        Zdal-common:zdal组件所使用的一些公共组件类。
 
3.  ZDAL配置说明 
ZDAL需要三个配置:ZdalDataSource配置,<appName>-<dbMode>-ds.xml用于配置各个数据库的数据源,<appName>-<dbMode>-l用于配置分库分表规则。
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配置文件,例如:l
 zdal应用Bean配置说明(com.alipay.fig.bean.ZdalAppBean)
高考文综答案
属性名
可用值
说明
属性名
可用值
说明
appName
无约束
应用名
road tourdbmodebeautiful monster
无约束
数据库环境
appDataSourceList
内容必须是存在的AppDataSourceBean的id
应用数据源列表
 zdal应用数据源Bean配置说明(com.alipay.fig.bean.AppDataSourceBean)
属性名
可用值
说明
属性名
可用值
说明
appDataSourceName
无约束
应用名
dataBaType
DB2/ORACLE/MYSQL
数据库类型,对应枚举DBType中的值
configType
GROUP/SHARD/SHARD_GROUP/SHARD_FAILOVER
读写分离与分库分表类型配置,对应枚举DataSourceConfigType中的值
appRule
establishing必须与AppRule的id一致
分库分表规则
physicalDataSourceSet
内容必须是存在的PhysicalDataSourceBean的id
物理数据源列表
 物理数据源配置说明(com.alipay.fig.bean.PhysicalDatasourceBean)
entertainment是什么意思decadent
属性名
可用值
说明
属性名
可用值
说明
Name
无约束
jeddah
将被用在rule中用来指定数据源名
jdbcUrl
例如: jdbc:db2://192.168.1.102:6000/hcore
数据库URL
urName
无约束
数据库用户名
Password
无约束
数据库密码
八年级上册英语作业本答案
minConn
数字
最小连接数
maxConn
数字
最大连接数
blockingTimeoutMillis
数字,毫秒
抛出异常前等待连接的最大时间,此时间不适用于创建新连接。适用于JBOSS,待验证是否适用于其它
idleTimeoutMinutes
数字,分钟
如果连接在指定时间内未使用,将会被回收,zdal每隔idleTimeoutMinutes/2分钟检测一次
preparedStatementCacheSize
 
boiler
缓存的preparedStatement大小,使用LRU算法,保存的最小preparedStatement个数是2(zdal内部写死),缓存的内容主要是PreparedStatement对象,以及数据库返回的该对象的部分属性,缓存该对象可以减少与数据库服务器通讯的次数,从而加快速度,需要driver支持,oracle-driver支持,mysql-driver不支持
queryTimeout
数字,秒
查询,更新等操作超时时间
prefill
true/fal
是否预热数据库连接,可以防止连接风暴
tTimeout
 
不同数据库支持不同属性,这些属性非必要
connectionProperties.autoReconnect
 dym
不同数据库支持不同属性,这些属性非必要
connectionProperties.initialTimeout
 
不同数据库支持不同属性,这些属性非必要
connectionProperties.maxReconnects
 
不同数据库支持不同属性,这些属性非必要
connectionProperties.socketTimeout
 
不同数据库支持不同属性,这些属性非必要
connectionProperties.failOverReadOnly
 
不同数据库支持不同属性,这些属性非必要
3.3 <appName>-<dbMode>-l

本文发布于:2023-05-22 05:35:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/728304.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   数据源   分表   分库   连接   属性   配置   使用
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图