签到成功

知道了

CNDBA社区CNDBA社区

海量数据解决方案:分库分表 / NewSQL数据库 对比说明

2021-07-11 19:45 1705 0 原创 TDSQL
作者: dave

1 分库分表

在传统的关系型数据库,比如MySQL,当业务量上涨之后可能会遇到如下问题时:

(1) 单个表数据量太大
(2) 单个库数据量太大
(3) 单台数据量服务器压力很大
(4) 读写速度遇到瓶颈http://www.cndba.cn/cndba/dave/article/4581

http://www.cndba.cn/cndba/dave/article/4581

这种问题的解决方法无非两种:

(1)向上扩展(scale up) :不断增加硬件性能。
(2)水平扩展:直接增加机器,把数据库放到不同服务器上,在应用到数据库之间加一个proxy进行路由。http://www.cndba.cn/cndba/dave/article/4581

MySQL的水平扩展都是通过中间件来实现的,这是中间件的除读写分离功能之外的另一个主要功能。国内目前的中间件有很多,很大大厂都开发了自己的中间件,主要有如下几个:http://www.cndba.cn/cndba/dave/article/4581http://www.cndba.cn/cndba/dave/article/4581

(1)Cobar:阿里巴巴B2B开发的关系型分布式系统,管理将近3000个MySQL实例。后来阿里开发了tddl替代cobar。
(2)MyCAT:社区爱好者在阿里cobar基础上进行二次开发,解决了cobar当时存在的一些问题,并且加入了许多新的功能在其中。
(3)Kingshard: Kingshard是前360Atlas中间件开发团队的陈菲利用业务时间用go语言开发的。
(4)Atlas: 360团队基于mysql proxy 把lua用C改写。原有版本是支持分表, 目前已经放出了分库分表版本。
(5)MaxScale:mariadb (MySQL原作者维护的一个版本)研发的,目前版本不支持分库分表。
(6)MySQL Route:MySQL 官方Oracle公司发布出来的一个中间件。http://www.cndba.cn/cndba/dave/article/4581

2 NewSQL 架构

关于NewSQL 数据库说明可以参考我之前的博客:http://www.cndba.cn/cndba/dave/article/4581

数据库的三种分类说明:SQL / NoSQL / 分布式NewSQL
https://www.cndba.cn/dave/article/4579http://www.cndba.cn/cndba/dave/article/4581

鉴于NewSQL数据库的先进架构,国内的几个大厂和创业公司都退出了自己的NewSQL 数据库,比如OceanBase,TDSQL,TiDB,SequoiaDB。

NewSQL 架构和上节说的分库分表的架构对比如下图:
http://www.cndba.cn/cndba/dave/article/4581http://www.cndba.cn/cndba/dave/article/4581

简单的说就是:

(1) 中间件模式SQL解析、执行计划优化等在中间件与数据库中重复工作,效率相比较低;
(2) NewSQL数据库的分布式事务相比于XA进行了优化,性能更高;
(3) 新架构NewSQL数据库存储设计即为基于paxos(或Raft)协议的多副本,相比于传统数据库主从模式(半同步转异步后也存在丢数问题),在实现了真正的高可用、高可靠(RTO<30s,RPO=0);

(4) NewSQL数据库天生支持数据分片,数据的迁移、扩容都是自动化的,大大减轻了DBA的工作,同时对应用透明,无需在SQL指定分库分表键。

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8185969次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ