资源描述:
《《tddl使用与配置》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1TDDL的使用与配置部门:产品技术部-java中间件日期:2010-08-05君瑜2课程RoadMapTDDL简单原理与架构TDDL使用TDDLSEQUENCE原理与使用控制中心JADE介绍YUGONG动态数据复制组件介绍3TDDL简单原理与架构(1)4TDDL简单原理与架构(2)三层数据源每层都按JDBC规范实现Matrix层(TDataSource)实现分库分表逻辑,底下持有多个GroupDs实例Group层(TGroupDataSource)实现数据库的主备/读写分离逻辑,底下持有多个AtomDs实例Atom层(TAtomDataSource)实现数据库ip,port,pass
2、word,connectionProperties等信息的动态推送,持有原子的数据源(分离的JBOSS数据源).5TDDL简单原理与架构(3)6TDDL简单原理与架构(4)为何TDDL要做SQL解析,不就需要拿到分库分表条件么?1.TDDL除了拿到分库分表条件外,还需要拿到orderby,groupby,limitm,n,join信息,SUM,MAX,MIN等聚合函数信息,DISTINCT信息.具有这些关键字的SQL在单库和多库情况下进行,语义是不同的.TDDL必须对使用这些关键字的SQL返回的结果做出合适的处理.2.TDDL行复制需要重新拼写SQL,带上sync_version字段.
3、3.不通过sql解析,因为TDDL遵守JDBC规范,它不可能去扩充JDBC规范里面的接口,所以只能通过SQL中加额外的字符条件(也就是HINT方式)或者ThreadLocal方式进行传递,前者使SQL过长,后者难以维护,开发debug时不容易跟踪,而且需要判定是在一条SQL执行后失效还是1个连接关闭后才失效.4.TDDL现在也同时支持Hint方式和ThreadLocal方式传递这些信息TDDL使用-TDataSourceTDDL使用-TDataSource(2)TDDL使用-TGroupDataSourceTDDL使用-TAtomDataSourceTDDL规则配置(2.4.4新规则)
4、TDDL3.0.0版本开始提供规则的统一管理和动态推送(2.4.4新规则支持)TDDL规则配置(2.4.4新规则)TDDL规则配置(2.4.4新规则)TDDL规则配置(2.3.3)TDDL规则配置(2.3.3)TDDL规则配置(2.3.3)#gmt_create,1_month,12##seller_id,1,512#SELECT*FROMlogic_tableWHEREseller_id>10SELECT*FROMlogic_tableWHEREgmt_create>now()SELECT*FROMlogic_tableWHEREseller_id>10andseller_id<40
5、…TDDLThreadLocal使用SimpleCondition可以设定包括Orderby,Groupby,分库分表键,limitm,n信息把该段代码放在目标sql执行前.TDDLRouteHelper使用RouteHelper是对ThreadLocal的封装,讲ThreadLocal的使用简化到一条语句.放在目标sql执行前.到指定库上执行指定分库分表条件和值,绕开sql解析选择主备TDDLHint使用Hint的功用和ThreadLocal和RouteHelper一致,主要为了避免滥用ThreadLocal和RouteHelper给应用带来维护上的困难,一般简单sql绕开sql解析
6、可以用hint解决,复杂的sql使用ThreadLocal方式解决.TDDLSEQUENCE原理随机取到sample_group_1,取1000sample_group_1他会永远只会取到1000-1999,5000-5999,9000-9999,13000-13999…其他group也一样,相互不会重叠.TDDLSEQUENCE使用(1)TDDLSEQUENCE使用(2)有几张逻辑表,就声明几个sequence控制中心JADE平台介绍http://ops.jm.taobao.net/rtools/index/index.htmYUGONG复制组件YUGONG复制组件FAQ