阿里云DRDS简明教程_Ver1.04

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DRDS简明教程

Ver1.04

版本内容人员日期

1.00创建姜元东2015-01-09

姜元东2015-01-12 1.01增加跨库及单

库事务的代码

1.01增加原理简介,

姜元东2015-01-12

引用阿里长源

的文档

姜元东2015-01-13 1.02增加示意图及

更正乱码

姜元东2015-01-19 1.03增加Druid连接

池demo,增加

FAQ

姜元东2015-03-03 1.04增加druid数据

源从配置文件

中读取用户名、

密码的方式;增

加对数据源进

行监控的配置

目录

1.原理简介 (5)

1.1.分库 (5)

1.2.拆分键 (6)

1.3.全表扫描 (6)

1.4.单个字段分库分表 (6)

1.5.多个字段分库分表 (7)

2.前提 (10)

3.数据库配置情况 (10)

3.1.RDS实例 (10)

3.2.DRDS实例 (11)

3.3.DRDS分库情况 (11)

3.4.建表 (11)

3.5.使用mysql命令行连接数据库 (12)

3.6.建立java工程连接数据库 (12)

3.6.1.使用Eclipse建立maven工程。 (12)

3.6.2.Pom的配置 (13)

3.6.3.主要的java代码 (14)

3.6.4.执行结果截图 (16)

3.6.5.单库事务成功及跨库事务失败演示 (16)

4.其他demo (18)

4.1.使用Druid数据库连接池 (18)

4.1.1.pom工程文件 (18)

4.1.2.applicationContext.xml (21)

4.1.3.App.java (26)

4.1.4.JdbcTemplateTestItem.java (27)

5.Druid数据库连接池从配置文件中读取配置信息 (28)

5.1.配置文件内容 (28)

5.2.在spring中的配置 (29)

6.在web工程中监控Druid数据源的状态 (29)

6.1.在web.xml中的配置 (29)

6.2.web工程在tomcat中启动后查看监控 (30)

7.DRDS FAQ (31)

7.1.什么是小表广播? (31)

7.2.什么是异构索引? (31)

7.3.DRDS的记录数上限参考? (32)

7.4.关于DRDS的开发,使用Druid做连接池 (32)

7.5.关于使用DRDS统计分析的解决方案 (32)

7.6.关于DRDS的数据安全问题 (33)

7.7.关于DRDS的并发连接数 (33)

7.8.DRDS的切分原则是什么? (34)

7.9.XA事务能不能支持(分布式事务如何处理)? (35)

7.10.DRDS是否支持分布式join以及复杂SQL如何支持? (36)

7.11.什么是全局唯一ID? (38)

7.12.什么是数据水平切分? (38)

7.13.什么是平滑扩容? (39)

7.14.详解全表扫描 (39)

7.15.DRDS支持的SQL语法有哪些? (41)

7.16.DRDS的hint支持 (43)

7.16.1.手工指定SQL语句的拆分键 (43)

7.16.2.用待定参数(?)作为Hint参数 (44)

7.17.如何接入DRDS? (44)

7.18.如何在drds中使用sequence? (46)

适逢阿里云公测,DRDS是阿里在TDDL组件上发展而来的分布式数据库解决方案。

适用对象:熟悉java JDBC开发,maven,eclipse的人员。

1.原理简介

DRDS访问示意图

1.1.分库

分库分表在DRDS里面是一个很重要的概念。DRDS在后端将数据表水平拆分到后端的每个RDS数据库中,这些数据库被称为分库,对应的表称为分表。DRDS由每个分库负责每一份数据的读写操作,从而有效的分散了整体访问压力。

在系统扩容时,只需要水平增加分库的数量,并且迁移相关数据,就可以提高DRDS系统的总体容量。

1.2.拆分键

即分库/分表字段。DRDS根据拆分键的值将数据表水平拆分到后端的每一个RDS分库里。换句话说,键值相同的数据,一定会位于同一个RDS数据库里。DRDS里的每一张分表都可以定义自己的拆分键,拆分键可以是单个字段,也可以是多个字段的组合。

1.3.全表扫描

复杂的SQL语句会分发到所有库上执行,并且在DRDS中进行比较和合并。全表扫描相当消耗性能,应该在业务中尽量避免。1.4.单个字段分库分表

t_item表的分布键是sellerid.

1)在INSERT/REPLACE语句中必须包含分库分表的字段

(拆分键)。例如:

insert into t_item(product_id)values(11);

返回错误信息:Error Code:3009.optimize error by

insert not support muti tables。

insert into t_item(sellerid,product_id)values(1,11);

允许执行。1row(s)affected

相关文档
最新文档