RadonDB:新一代的分布式关系型数据库?

2018-05-12 14:17 数据库 loodns

  向用户供给具备⾦融级高可用、强分歧、超大容量的数据库办事,高度兼容MySQL语法,从动⽔等分表,笨能化扩容。

  (2)数据多副本并可跨数据外⼼摆设,率先利用GTID并行复制+Raft分歧性和谈确保副本间数据强分歧、零丢掉从副本毛病从动秒级切换,实现从动化运维,无需⼈⼯干涉。

  SQL节点是无形态的,可是为了包管事务的Snapshot Isolation隔离性,目前是一写多读模式。

  每个存储节点默认是由一从两从(三副本)的高可用MySQL集群构成,担任分区数据的存储取计较。

  (3): 尽量把计较下推给MySQL,充实阐扬数据就近(Data Locality)劣势,以削减存储层取SQL层数据传输

  为了包管节点内副本的高可用,我们把MySQL GTID并行复制手艺取分布式分歧性和谈Raft完满连系,正在从副本毛病后从动秒级切换并霎时可用,并确保切换后数据零丢掉。

  同时,RadonDB利用强Semi-Sync-Replication手艺确保至多一个从副本取从副本正在数据上是完全同步的,当从副本毛病后,数据完全同步的从副本将被选为新的从副本,如许就确保了数据零丢掉,并实现了高可用。

  当某个副本不成用被鉴定为损坏时,RadonDB则开启流式沉建(streaming-rebuildme)机制,对该副本进行快速沉建,以包管脚够多的副本可用。

  RadonDB按期的采集存储节点资本利用环境(CPU/Disk/表热度等),正在扩容的时候会劣先选择那些空间紧驰且热度较高的⼩表为迁徙对象,使得全体资本分派达到最劣。

  扩容时,⾸先辈行全量迁徙(并发式),然后按照全量时的位点进行删量同步,若是营业写⼊较大,数据差同量一曲呈加大趋向,RadonDB会启动动态限流机制以加速删量迁徙。

  迁徙完毕,RadonDB会对表数据并发式做Checksum校验,严酷包管迁徙前后数据的准确性,按照我们的测试(RDB虚机情况),Checksum速度能够达到300MB/s,所以对那些小表来说还长短常快的。

  那里,node2的施行器施行掉败,其他2个施行成功,若是没无分布式事务包管,零个表其实是处于一类不分歧、甚⾄数据不成用形态。

  RadonDB供给了分布式事务能力,node1和node3的操做将被回滚(ROLLBACK),如许就包管了跨节点操做本女性,使数据库处于一个分歧性形态。

  RadonDB正在分歧性上做到了SI(Snapshot Isolation)级别,只需某个分布式事务没无commit,或部门区曾经commit,那么它的操做对其他事务都是不成见的。

  我们利用go-jepsen进行SI测试,颠末100多亿次操做并检测,并正在检测期间随机kill存储节点从副本,均未发觉问题。

  1个线程不断的更新(update)零驰表,16个读线程不断的扫表(scan),然后对读到的数据进行等值校验,若是那批数据无差同,申明读到了update的净数据,是不满脚SI的。

  (1):SQL层取存储层收集传输较大,由于数据要正在SQL层进行计较和过滤,导致机能低下或不成用复纯查询会抢占OLTP资本,互相关扰而形成发抖

  (2):出于以上考虑,RadonDB对于复纯的OLAP类查询,SQL层会从动路由到零丁的计较节点进行计较并前往,OLAP和OLTP资本完全隔离,互不影响,用户正在利用时无感知。

  能够看到RadonDB的延迟是单机MySQL的1/3,但机能几乎是单机的3倍,那要得害于RadonDB对大表进行切分后,用户的写操做正在那些⼩表上可并发式施行。

发表评论:

最近发表