RadonDB 新一代分布式关系型数据库 张雁飞 青云

2020-03-01 67浏览

  • 1.RadonDB QingCloud 12.09.2017
  • 2.
  • 3.
  • 4.
  • 5.SPEAKER ● ● TokuDB XeLabs / / ● @BohuTANG
  • 6.RadonDB ► ► ► ► ► MyNewSQL
  • 7.Architecture Distributed SQL Nodes (stateless) Storage Radon Radon Radon MySQL Protocol raft raft raft Storage Storage Nodes raft raft Storage Compute Nodes
  • 8.Distributed SQL ► ► ► ► orderby/limit/groupby/aggregation/join … ►
  • 9.Storage Nodes ► node Storage Nodes ► node raft ► node ► ► MySQL raft Storage raft
  • 10.CREATE TABLE t1(id int, age id) PARTITION BY HASH(id) t1_0000 [0, 127] t1_0001 t1_0002 [128, 255] [256, 383] t1_0029 [3712, 3839] raft ► 4096 slots t1_0030 [3840, 3967] t1_0031 [3968, 4095] raft ► 128 slots ► node
  • 11.► CREATE TABLE t1(id int, age id) PARTITION BY HASH(id) ► ► t1_0000 [0, 127] t1_0001 [128, 255] t1_0029 [3712, 3839] t1_0030 [3840, 3967] / raft ► t1_0002 [256, 383] raft raft t1_0031 [3968, 4095]
  • 12.► KV? MySQL! ► ► ► SQL Storage ► MySQL 8.0 ...
  • 13.► GTID Raft Log Index ► Raft ► ► ► ► Log VIP VIP X GTID+ Raft Semi-Sync Raft+MySQL = Raft +GTID + Semi-Sync
  • 14.► ► ► Snapshot Isolation
  • 15.SI ► ►
  • 16.SI ► XeLabs/go-jepsen ► 1 16 ► 100 ► kill
  • 17.Radon - Binlog ► Statement + GTID ► ( )
  • 18.OLTP + OLAP ► (Compute Node) ► Radon Binlog ► SQL ► : ► : 2
  • 19.Backup & restore ► XeLabs/go-mydumper ► ► snapshot
  • 20.sysbench:16 , 512 5000 Transaction Per Second(TPS) (1SQL RadonDB 4 MySQL (QingCloud RDB) ) 26,589 9,346 Response Time(avg) 20ms 4 (16C64G ) sync_binlog=1 innodb_flush_log_at_trx_commit=1 73ms RDB(16C64G ) sync_binlog=1 innodb_flush_log_at_trx_commit=1
  • 21.► ►
  • 22.► CPU ► ► IOPS/ ...
  • 23.► ► mysql> show processlist; ► mysql> show txnz; ► mysql> show queryz;
  • 24.► MyNewSQL ► Hybrid Row/Column Data Storage ► ► RadonDB (Linearizability) (2018)
  • 25.Thank you. Array@yunify.com