分布式数据库使用规则?

分布式数据库和传统的share everying的数据库差别感觉还是非常的大,目前来说,一些锁、阻塞机制确实没有o做的全面和细致,此外,分布式数据库中类似于两阶段提交的特性,也可能会经常造成死锁、阻塞,在实时交易系统中灰造成比较严重的影响,那么目前是否有技术或者使用规范来避免这些问题呢?

2回答

邓刚邓刚  解决方案架构师 , 英特尔社区
eric赞同了此回答
分布式数据库由于多数采用 share nothing 的架构,跨节点事务的性能是一个很大的挑战。对于死锁检测问题,分布式数据库都有各自的方式,比如在 TiDB 中维护了全局的 wait-for-graph ,通过确保该图无环来避免死锁。在中间件类型的分布式数据库,一般是由计算节点来检测死锁。另外 ...显示全部

分布式数据库由于多数采用 share nothing 的架构,跨节点事务的性能是一个很大的挑战。对于死锁检测问题,分布式数据库都有各自的方式,比如在 TiDB 中维护了全局的 wait-for-graph ,通过确保该图无环来避免死锁。在中间件类型的分布式数据库,一般是由计算节点来检测死锁。
另外 ,英特尔 ® 至强 ® 可扩展 处理器中的TSX (事务内存) 指令,也可以用于加速数据库的事务处理,减少锁的开销 。更多关于Intel TSX的信息 可以参考文档 : https://www.intel.com/content/dam/develop/external/us/en/documents/sf12-arcs004-100-393551.pdf

收起
 2021-12-28
浏览349
hanfeng_twthanfeng_twt  数据库架构师 , 大型金融单位
eric赞同了此回答
分布式数据库较传统单机数据库或集中式数据库,是存在较多不同,因此在开发之处就有针对性的进行规避比较重要。这其中常见的点包括:事务大小、SQL复杂度、分布式事务、DDL变更等。基本的处理原则就是3B原则,即避免Big SQL、Big Transaction、Big Batch。此外,尽量减小分布式...显示全部

分布式数据库较传统单机数据库或集中式数据库,是存在较多不同,因此在开发之处就有针对性的进行规避比较重要。这其中常见的点包括:事务大小、SQL复杂度、分布式事务、DDL变更等。基本的处理原则就是3B原则,即避免Big SQL、Big Transaction、Big Batch。此外,尽量减小分布式数据库中的变更,无论是架构上的(如扩缩容)、结构上的(如DDL)等。

收起
 2021-12-24
浏览358

提问者

wangxin3700
dba乐山市商业银行
擅长领域: 灾备双活分布式架构

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

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

问题状态

  • 发布时间:2021-12-24
  • 关注会员:3 人
  • 问题浏览:992
  • 最近回答:2021-12-28