最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
宁津县| 新田县| 思南县| 永吉县| 宁夏| 壶关县| 泽库县| 武宁县| 福鼎市| 汉中市| 凤山市| 九龙坡区| 乌苏市| 儋州市| 兴城市| 伽师县| 敦化市| 长顺县| 灌云县| 板桥市| 赤峰市| 新竹市| 霍林郭勒市| 承德市| 新丰县| 东方市| 铜山县| 贵德县| 千阳县| 曲靖市| 习水县| 彰武县| 屏山县| 陆丰市| 天台县| 大厂| 博白县| 五大连池市| 秦皇岛市| 师宗县| 登封市|