为了落地分布式数据库系统,应用、数据库层做了哪些改造?

贵行为了使现有的业务应用系统与分布式数据库适配,对应用层与数据库层做了很多改造,积累了宝贵的经验。
各位老师能否分享下?

1回答

DingkDingk  副总经理 , 张家港行
yaoqi冯岩赞同了此回答
数据库层:主要工作是表shardkey的设计,shardkey是TD应用适配的核心,对此,我行对每个表逐一进行了分析。在新的应用系统,数据库语句通过namesql单独管理,可以很好的将具体表涉及的语句统计出来,再根据sql对表的shardkey、以及索引、甚至结构进行调整。应用层:应用层本身有良好的设...显示全部

数据库层:
主要工作是表shardkey的设计,shardkey是TD应用适配的核心,对此,我行对每个表逐一进行了分析。在新的应用系统,数据库语句通过namesql单独管理,可以很好的将具体表涉及的语句统计出来,再根据sql对表的shardkey、以及索引、甚至结构进行调整。
应用层:
应用层本身有良好的设计,所以主要工作就是对namesql中sql语句的调整。语句调整分两个阶段,一是替换函数,变更语法,使应用能跑起来。二是进行性能调优。

TD中联表查询,两个表关联条件中如果有shardkey,那么查询效率能充分发挥分布式的优势,性能很好,但如果没有对等的shardkey,查询将非常缓慢,实时交易必须将这种情况全部解决。

厂商的支持非常重要,在系统建设过程中,行方、应用方要全力投入,做好改造工作,同时还要进行严格的测试,发现的问题,需要分布式数据库厂商及时支持,修改。

收起
 2020-05-28
浏览570
冯岩 邀答
  • TDSQL 根据类 hash算法处理 shardkey 将数据均匀分布到各个节点。表关联的话,关联列是shardkey的话,只是在节点内进行关联连接,不会在节点间进行大数据量的交互,进而造成更昂贵的网络开销。
    2020-05-29

提问者

冯岩数据库管理员, 银行

分布式关系型数据库选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2020-05-28
  • 关注会员:2 人
  • 问题浏览:1964
  • 最近回答:2020-05-28