阅读345 返回首页    go 阿里云


DRDS常见问题__常见问题_产品使用问题_分布式关系型数据库 DRDS-阿里云

,DRDS切分的基本原则是什么?

,DRDS能否处理分布式事务?

,DRDS是否支持分布式join以及复杂SQL如何支持?

,,1,、 DRDS和RDS的连接是怎么算的

,每一个DRDS节点和RDS之间的连接是以分库为单位计算的。DRDS和每一个分库之间使用连接池连接,老版本每一个分库至少会有一个连接,新版本基数是零,根据请求,会动态增加每个分库的连接数。单个连接池的上限会根据RDS的QPS额度做计算,连接池根据连接是否空闲等几个因素,决定什么时候断开,默认空闲连接是1分钟

,,2,、 关于分库的数量:在测试的过程中发现,如果DRDS下面只挂一个RDS的话,分库的数量是8个,但是经过扩容增加一个RDS,分库的数量仍然是8个,只是部分分库移到新增加的RDS上,而无法增加分库的数量,请问如果我们想增加分库的数量该如何处理呢?

,DRDS的扩容分为两种,目前在控制台上可以进行的扩容可以增加RDS数目但是是不会增加分库数的,这种扩容一般可以满足您的绝大多数需求;增加分库数的扩容后台已经支持,但目前暂未在控制台开放,如果确实有需求,可以通过提工单的形式,后台为用户进行增加分库扩容,对应用也是透明的。 

,,3,、 能否从DRDS中移除部分RDS?

,如上面的问题一样,缩容操作也是支持但暂未在控制台开放的功能,如有需求,可以提工单,后台操作。 

,,4,、 关于分表:单个表的容量是有大小限制的,那分表的容量是否也是有大小限制的,如果超过这个容量,我们可以对分表再进行拆分处理吗?

,一般情况下,建议单个分表的容量不要超过500W数据,可以提前预估您比如1-2年的数据增长量,用该量除以(分库数*500W),便能得出您所需要的分表数。可以使用DRDS的分布式DDL建立分表 https://help.aliyun.com/document_detail/drds/user-guide/user_drds_ddl.html。分表数的增减,亦属于未开放的扩容缩容操作,如果需要,可以提工单。

,,5,、 关于分库分表键:在对分库分表键做update操作的时候,发现会报错,如果我们想对分库分表键进行update操作该如何处理?

,由于事务的关系,目前DRDS并不允许您修改分库键,因为这可能会涉及到数据在分片内的移动,如果业务有这种需求,可以自行删掉数据,然后重新插入。 

,,6,、分库分表方式:在用ddl创建表的时候,能否指定分到部分分库上(例如我有8个分库,但是我只想把这个表分到其中6个分库上)

,这个暂时是不允许的,如果您是为了解决热点问题的话,后续产品允许使用映射规则,例如,将某个用户的数据放到指定的分片上。

,,7,、如何调整分库分表字段:如果前期设计分库分表,因某种原因,分错了,需要调整为其它分库分表字段,如何处理?

,这个目前只能导出数据,然后重新建表,再进行导入.

,,8,、 跨库性能问题:在同一个RDS之间的垮库查询和多个RDS之间的跨库查询的速度之间的差别大概是什么的情况?

,会多一次网络传输,会增加1ms左右的延迟。

,,9,、物理性能:RDS实例,分配多少数据库, 物理机的IO能力才能充分发挥?也就是说会不会过多达到物理IO上限,导致性能下降,过少无法充分利用IO。

,这个和数据库的数目是没什么关系的,这取决于您的查询和QPS是什么样子的。

,,10,、/*TDDL:node=0*/select * from 表名; 这里的表名只能写分表的名字,也就是说只能指定在某个分片(某个库中的某个分表)进行操作,而无法指定在某个节点(分库)进行操作,如果我想指定sql执行在某个分库中的所有表中进行操作,该如何处理? 

,暂时没有这样的hint。但可以考虑用scan hint进行替代,此hint可以允许你对一个表的所有分片进行查询,用法可以参考:

,DRDS自定义注释 

,12、DRDS支持90%以上MySQL sql,部分语句写法不兼容,比如只能支持单列的order by ,详情参考

,DRDS产品与MySQL兼容性

,DRDS分库分表

,,13、在控制台执行ddl 报错 table tt(id int(10) not null primary key,actionDate date)dbpartition by hash(id) tbpartition by MMDD(actionDate) tbpartitions 2;但在命令行执行确实可以的

,控制台不支持分布式DDL的,如果要使用分布式DDL,请到DMS中或者通过其他MySQL客户端直接连接DRDS进行操作

,,14,、我在DRDS上执行事务操作的时候报错,提示说不支持跨库事务,请问这个问题怎么解决?

,DRDS 不支持跨分库的事务。单实例的事务是可以支持的。 

,,其他:

,15、drds库中创建单表,在每一个分库中仍然会创建表,但数据只能存储在第一个分库,也就是有000的库里面的表中,不会存储在其余的库上

,16、 drds实例中每一个RDS的分库限制是8个,但每个分库里面分表的数量没有限制

,17、删除drds,rds中drds库也会自动删除。但其他非drds库是不受影响的

,18、,,DRDS不支持 视图,存储过程,,跨库外键,级联删除。如果需要自定义函数,请通过组合mysql标准函数解决。

,,如果问题还未能解决,请联系,售后技术支持,。

最后更新:2016-07-12 13:48:25

  上一篇:go 产品规格和价格说明__服务条款与价格模型_分布式关系型数据库 DRDS-阿里云
  下一篇:go EDAS 简介__产品简介_企业级分布式应用服务 EDAS-阿里云