国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ShardingSphere-JDBC:數(shù)據(jù)分片實(shí)戰(zhàn)篇

2021-08-25 23:03 作者:做架構(gòu)師不做框架師  | 我要投稿

前言

本文主要是實(shí)現(xiàn)了一個(gè)基于Java API調(diào)用ShardingSphere-JDBC實(shí)現(xiàn)數(shù)據(jù)分片。

數(shù)據(jù)分片

數(shù)據(jù)分片是指按照某個(gè)維度將存放在單一數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)分散地存放在多個(gè)數(shù)據(jù)節(jié)點(diǎn)或表中,來(lái)達(dá)到提升性能瓶頸以及可用性的目的。

數(shù)據(jù)分片的核心手段就是對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)和分表。

創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表

首先我們創(chuàng)建兩個(gè)庫(kù),分別是ds0,ds1,在ds0中創(chuàng)建一個(gè)表t_order0,在ds1中創(chuàng)建一個(gè)表t_order1。

在表中有三個(gè)字段:

  • order_id,訂單編號(hào),主鍵,用于分表策略的鍵

  • user_id,用戶編號(hào),用于分庫(kù)策略的鍵

  • remarks,備注

建表語(yǔ)句

CREATE TABLE `t_order0` ( ?

`order_id` bigint NOT NULL COMMENT '訂單號(hào),主鍵', ?

`user_id` bigint NOT NULL COMMENT '用戶ID', ?

`remarks` varchar(50) COLLATE utf8mb4_german2_ci DEFAULT NULL COMMENT '備注', ?

PRIMARY KEY (`order_id`)?

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4?

COLLATE=utf8mb4_german2_ci COMMENT='訂單表';


CREATE TABLE `t_order1` ( ?

`order_id` bigint NOT NULL COMMENT '訂單號(hào),主鍵', ?

`user_id` bigint NOT NULL COMMENT '用戶ID', ?

`remarks` varchar(50) COLLATE utf8mb4_german2_ci DEFAULT NULL COMMENT '備注', ?

PRIMARY KEY (`order_id`)?

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_german2_ci COMMENT='訂單表';

測(cè)試數(shù)據(jù)

操作步驟

我們利用ShardingSphere-JDBC實(shí)現(xiàn)分庫(kù)分表的操作步驟如下:

  1. 配置真實(shí)數(shù)據(jù)源

  2. 配置t_order表規(guī)則

  3. 配置分庫(kù)策略

  4. 配置分表策略

  5. 配置分片策略

  6. 獲取數(shù)據(jù)源

  7. 執(zhí)行操作語(yǔ)句

引入Maven依賴

注意:示例代碼的數(shù)據(jù)庫(kù)連接池為Druid,可根據(jù)業(yè)務(wù)場(chǎng)景更換為其他主流數(shù)據(jù)庫(kù)連接池。

規(guī)則配置

ShardingSphere-JDBC 的 Java API 通過(guò)數(shù)據(jù)源集合、規(guī)則集合以及屬性配置組成。以下示例是根據(jù) user_id 取模分庫(kù), 且根據(jù) order_id取模分表的 2 庫(kù) 2 表的配置。

按照我們插入的參數(shù)“order_id = 1 & user_id = 1”的條件,我們應(yīng)該會(huì)查到ds1庫(kù)t_order1的數(shù)據(jù),測(cè)試數(shù)據(jù)如下:

結(jié)果果然如此,說(shuō)明我們做的這個(gè)小demo是ok的,下一篇文章我會(huì)帶領(lǐng)大家深入源碼,探究ShardingSphere-JDBC是如何做到分庫(kù)分表的!

寫在最后

好兄弟可以點(diǎn)贊并關(guān)注我的公眾號(hào)“javaAnswer”,全部都是干貨。


ShardingSphere-JDBC:數(shù)據(jù)分片實(shí)戰(zhàn)篇的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
晴隆县| 旺苍县| 达尔| 枝江市| 项城市| 修水县| 阜南县| 土默特右旗| 定日县| 清丰县| 汤原县| 靖州| 西昌市| 九江县| 涪陵区| 南陵县| 盐池县| 韶山市| 会东县| 宁波市| 中宁县| 宣化县| 蓝山县| 皋兰县| 宁德市| 礼泉县| 阜宁县| 东方市| 朝阳区| 莱州市| 遵义市| 印江| 星子县| 涟水县| 兴山县| 江西省| 阳朔县| 平利县| 斗六市| 宣武区| 厦门市|