- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何愉快地与dble 玩耍
话题
• dble和mycat-like架构的优势和极限
• 实施上的最佳实践
dble和mycat- like架构的极限
① ④
• 不知道数据的真实分布
所有非sharding key访问都需要广播
dble 难以建立二级索引
优化器优化空间有限
②
• 前端会话与后端连接强耦合
③
前端并行执行能力受限于后端单个MySQL的最大连接数
跨片访问会有“连接数放大”现象
然后,有了NewSQL架构
① ⑧
• 计算层能获取数据真实分布
②
computer coordinator
③
④ ⑥
• 前端会话与后端连接解耦合
⑤ ⑦
storage storage storage 相反就是dble架构的相对优势
* 简单语句且无法命中内部row_id的情况(一般的客户语句都无法满足)
实施上的通用经验
超量分片策略
按照最大数据规模提前分好逻辑分片(dataNode )数量,对后端MySQL扩缩容时,仅需要增加物理分
片(dataHost )数量,并迁移部分逻辑分片即可。从而保证方案具有横向扩容能力。
dble
dn0 dn1 dn2 dn3 dn4 dn5
状态表访问场景 表存储的是对象的某个时刻的状态,例如订单表、客户信息表等
• 场景特点
数据量大(TB级),单条语句耗时要求高(平均低于4ms)
• 实践经验
语句必须利用上sharding key
语句必须利用上MySQL内的索引
禁止广播访问
限制跨分片访问(跨分片数在4个以内)
善用全局表来改善JOIN
妥协:由应用层使用分布式事务框架进行跨库事务的保障
日志访问场景 表存储的是对象的变动过程,例如系统活动日志、用户操作历史表等
• 场景特点
数据量大(TB级),一直在写入,联机写入时IO压力大,批量清理时希望减少对联机写入的干扰
• 实践经验
dble层面上按时间进行分片,分散写入压力到不同的物理节点上
MySQL层面上按日期进行分区,为使用TRUNCATE PARTITION和DROP PARITION的快
速清理手段提供支持
妥协:日志表内要同时有日期和时间两部分信息
谢谢静听
文档评论(0)