日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用效果

PolarDB-X透明分布式的單表打散的工作模式就是將一個(gè)邏輯庫內(nèi)的所有表,按照建表時(shí)是否顯式使用MySQL分區(qū)語法,產(chǎn)生如下的行為(如下圖所示):

  • 若邏輯表沒顯式指定MySQL的分區(qū)定義,將作為單表,并被隨機(jī)分配到 PolarDB-X的不同DN節(jié)點(diǎn),實(shí)現(xiàn)負(fù)載均衡。

  • 若邏輯表顯式指定MySQL的分區(qū)定義,將作為分區(qū)表,各個(gè)分區(qū)均衡分布到不同的DN節(jié)點(diǎn)。

image.png

適用場(chǎng)景

由于該工作模式會(huì)將原有業(yè)務(wù)的所有MySQL單表自動(dòng)打散各個(gè)DN節(jié)點(diǎn),從而突破單機(jī)資源瓶頸并實(shí)現(xiàn)負(fù)載均衡。因此,該模式特別適合于業(yè)務(wù)應(yīng)用的庫表總體數(shù)目眾多的場(chǎng)景,而且表間的JOIN關(guān)系越少,越適合這個(gè)模式。

在實(shí)際應(yīng)用的過程中,關(guān)于透明分布式的單表打散工作模式的適用場(chǎng)景,可以參考最佳實(shí)踐

使用示例

創(chuàng)建使用單表打散的數(shù)據(jù)庫

PolarDB-X中,要使用透明分布式的單表打散工作模式,可以使用以下的建庫SQL:

CREATE DATABASE autodb1 MODE='auto' DEFAULT_SINGLE='on';

查看單表打散的完整的建庫語句:

mysql> show create database autodb1;
+----------+------------------------------------------------------------------------------------------------------------------+
| DATABASE | CREATE DATABASE                                                                                                  |
+----------+------------------------------------------------------------------------------------------------------------------+
| autodb1  | CREATE DATABASE `autodb1` CHARSET = `utf8mb4` COLLATE = `utf8mb4_general_ci` MODE = 'auto' DEFAULT_SINGLE = 'on' |
+----------+------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

創(chuàng)建多張MySQL單表并自動(dòng)打散

可嘗試使用以下的建表SQL,在my_autodb內(nèi)創(chuàng)建多張單表:

CREATE TABLE sin_t1(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime,
 primary key(id)
);

CREATE TABLE sin_t2(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime,
 primary key(id)
);

CREATE TABLE sin_t3(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime,
 primary key(id)
);

CREATE TABLE sin_t4(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime,
 primary key(id)
);

查看單表打散后的單表實(shí)際拓?fù)?/h3>

通過SHOW TOPOLOGY FROM #tableName 可以查看各個(gè)單表分布的實(shí)際位置:

mysql> show topology from sin_t1\G
*************************** 1. row ***************************
               ID: 0
       GROUP_NAME: AUTODB1_P00000_GROUP
       TABLE_NAME: sin_t1_HnMx
   PARTITION_NAME: p1
SUBPARTITION_NAME: 
      PHY_DB_NAME: autodb1_p00000
            DN_ID: polardbx-storage-0-master
STORAGE_POOL_NAME: _default
1 row in set (0.02 sec)

mysql> show topology from sin_t2\G
*************************** 1. row ***************************
               ID: 0
       GROUP_NAME: AUTODB1_P00001_GROUP
       TABLE_NAME: sin_t2_IT7l
   PARTITION_NAME: p1
SUBPARTITION_NAME: 
      PHY_DB_NAME: autodb1_p00001
            DN_ID: polardbx-storage-1-master
STORAGE_POOL_NAME: _default
1 row in set (0.01 sec)

mysql> show topology from sin_t3\G
*************************** 1. row ***************************
               ID: 0
       GROUP_NAME: AUTODB1_P00000_GROUP
       TABLE_NAME: sin_t3_HmtN
   PARTITION_NAME: p1
SUBPARTITION_NAME: 
      PHY_DB_NAME: autodb1_p00000
            DN_ID: polardbx-storage-0-master
STORAGE_POOL_NAME: _default
1 row in set (0.01 sec)

mysql> show topology from sin_t4\G
*************************** 1. row ***************************
               ID: 0
       GROUP_NAME: AUTODB1_P00001_GROUP
       TABLE_NAME: sin_t4_ab7e
   PARTITION_NAME: p1
SUBPARTITION_NAME: 
      PHY_DB_NAME: autodb1_p00001
            DN_ID: polardbx-storage-1-master
STORAGE_POOL_NAME: _default
1 row in set (0.01 sec)

從上述各個(gè)單表的 show topology 結(jié)果來看,可以發(fā)現(xiàn) sin_t1 與 sin_t3、sin_t2 與 sin_t4 分別落在了不同的DN上,sin_t1 與 sin_t3 落在DN polardbx-storage-0-master 上,而 sin_t2 與 sin_t4 落在DN polardbx-storage-1-master上。

注意事項(xiàng)

單表打散后,部分表的JOIN執(zhí)行性能可能會(huì)出現(xiàn)變化,這是因?yàn)樵就粋€(gè)DN的多個(gè)單表的JOIN 由于落到不同的DN, 導(dǎo)致JOIN算子無法繼續(xù)下推至DN執(zhí)行。