創(chuàng)建數(shù)據(jù)訪問(wèn)代理數(shù)據(jù)表
創(chuàng)建完數(shù)據(jù)訪問(wèn)代理數(shù)據(jù)庫(kù)后,與普通單機(jī)數(shù)據(jù)庫(kù)一樣,數(shù)據(jù)訪問(wèn)代理也需要?jiǎng)?chuàng)建數(shù)據(jù)表。對(duì)于設(shè)置為“分庫(kù)分表”模式的數(shù)據(jù)訪問(wèn)代理數(shù)據(jù)庫(kù)來(lái)說(shuō),在創(chuàng)建數(shù)據(jù)表時(shí)需要制定其相應(yīng)的分表規(guī)則,之后應(yīng)用通過(guò)連接數(shù)據(jù)訪問(wèn)代理可以透明訪問(wèn)后端的數(shù)據(jù)表,由數(shù)據(jù)訪問(wèn)代理根據(jù)設(shè)定的分表規(guī)則進(jìn)行路由操作。
操作步驟
在數(shù)據(jù)訪問(wèn)代理控制臺(tái)左側(cè)菜單欄選擇 數(shù)據(jù)庫(kù),進(jìn)入數(shù)據(jù)庫(kù)列表。
在列表中,單擊需要建表的數(shù)據(jù)庫(kù)名稱進(jìn)入該數(shù)據(jù)庫(kù)基本信息頁(yè),單擊右側(cè)頁(yè)面下方的 新增數(shù)據(jù)表。
進(jìn)入創(chuàng)建數(shù)據(jù)表向?qū)В顚懟蜻x擇各項(xiàng)信息,并單擊 下一步。
表屬性:
選擇 單表 則無(wú)需設(shè)置拆分的路由規(guī)則。
選擇 拆分表 后需要指定對(duì)應(yīng)的分表數(shù)以及路由規(guī)則。
分表總數(shù):所指定的分表數(shù)會(huì)被均分在當(dāng)前數(shù)據(jù)庫(kù)的各個(gè)物理庫(kù)中。
分表規(guī)則:
在拆分表(分表)模式下數(shù)據(jù)訪問(wèn)代理提供上層應(yīng)用透明的數(shù)據(jù)表訪問(wèn)模式,所以這里需要設(shè)置分表路由規(guī)則,數(shù)據(jù)訪問(wèn)代理會(huì)對(duì)應(yīng)用的 SQL 進(jìn)行自動(dòng)路由。
Hash 取模:數(shù)據(jù)訪問(wèn)代理會(huì)以指定的路由字段與數(shù)據(jù)庫(kù)數(shù)量進(jìn)行取模散列。
字符串截取:數(shù)據(jù)訪問(wèn)代理會(huì)以指定的路由字段中指定范圍的字符串來(lái)進(jìn)行散列。
自身位:指定路由字段數(shù)值來(lái)進(jìn)行直接路由。
自定義:如果上述路由操作無(wú)法滿足需求,用戶也可以直接定義數(shù)據(jù)路由表達(dá)式,數(shù)據(jù)訪問(wèn)代理會(huì)根據(jù)指定的路由字段以及自定義表達(dá)式來(lái)進(jìn)行路由。自定義分表規(guī)則支持 Groovy 表達(dá)式,更多詳情參見(jiàn) 自定義分表規(guī)則。
現(xiàn)在創(chuàng)建物理表:選中時(shí)點(diǎn)擊 下一步 會(huì)根據(jù)設(shè)置的分表數(shù)進(jìn)行物理表的創(chuàng)建。在沒(méi)有選中的情況下點(diǎn)擊 下一步 會(huì)完成數(shù)據(jù)表(邏輯表)的創(chuàng)建,但是此時(shí)還沒(méi)有物理表,需要手動(dòng)進(jìn)行關(guān)聯(lián)。
高級(jí)設(shè)置:可以進(jìn)行分庫(kù)規(guī)則的自定義設(shè)置,規(guī)則同“分表規(guī)則”。
執(zhí)行 DDL 語(yǔ)句創(chuàng)建數(shù)據(jù)表(如果上一步選擇了 現(xiàn)在創(chuàng)建物理表)。這里可以通過(guò)直接輸入 DDL 語(yǔ)句來(lái)進(jìn)行表 DDL 操作,單擊 執(zhí)行 觸發(fā),比如輸入:
CREATE TABLE IF NOT EXISTS `test_table_normal`( stuID INTEGER NOT NULL AUTO_INCREMENT, stuname char(30)notnull, gender int NOT NULL )
說(shuō)明執(zhí)行詳細(xì)信息可以在控制臺(tái)左側(cè)的 運(yùn)維 > 任務(wù)管理 中的任務(wù)列表進(jìn)行查詢。
查看并應(yīng)用創(chuàng)建后的數(shù)據(jù)表。
在左側(cè)菜單欄選擇 數(shù)據(jù)庫(kù),進(jìn)入數(shù)據(jù)庫(kù)列表。
找到新創(chuàng)建數(shù)據(jù)表所在的數(shù)據(jù)庫(kù),單擊數(shù)據(jù)庫(kù)名進(jìn)入詳情頁(yè)面。
在下方的 數(shù)據(jù)表信息 標(biāo)簽頁(yè)中可以看到新創(chuàng)建的數(shù)據(jù)表。這時(shí)新創(chuàng)建的數(shù)據(jù)表尚未生效,客戶端無(wú)法進(jìn)行查詢或者其他操作,需要單擊右上方的 配置生效 來(lái)生效當(dāng)前的數(shù)據(jù)表變更。
數(shù)據(jù)表的狀態(tài)有 正常、創(chuàng)建中、創(chuàng)建失敗、刪除中、刪除失敗 四種。
說(shuō)明單擊 配置生效 只會(huì)將狀態(tài)為 正常 的數(shù)據(jù)表配置生效。
單擊 確定 后,新創(chuàng)建的數(shù)據(jù)表(包括所有該數(shù)據(jù)庫(kù)下的變更)均會(huì)生效。