Sharding JDBC 核心概念

2021-10-19 09:27:26 字數 1321 閱讀 9961

即使你的真實表的表名變化了也能自動根據邏輯表的名字去生成真實表的名字,比如說你是根據月份分片的,你的真實錶帶個日期,我們應用在使用的時候依然只需要邏輯表的原名就行,sharing-jdbc會自動組裝出來真實表的表名.

水平拆分的資料庫(表)的相同邏輯和資料結構表的總稱。例:訂單資料根據主鍵尾數拆分為10張表,分別是t_order_0到t_order_9,他們的邏輯表名為t_order。

在分片的資料庫中真實存在的物理表。即上個示例中的t_order_0到t_order_9。

比如說一張使用者表我給它分成了三個資料庫,每個資料庫的使用者表都是乙個真實的表

資料分片的最小單元。由資料來源名稱和資料表組成,例:ds_0.t_order_0。

乙個資料庫裡面的一張表就是乙個資料節點

指分片規則一致的主表和子表。例如:t_order表和t_order_item表,均按照order_id分片,則此兩張表互為繫結表關係。繫結表之間的多表關聯查詢不會出現笛卡爾積關聯,關聯查詢效率將大大提公升。

是我們用來做資料分片的乙個依據,比如說我如果要取模的話我用使用者的主鍵去取模,那麼user_id就是分片鍵,如果我要是對日期去做日期範圍的劃分的話,那麼日期就是分片鍵等等.

名字有可能會發生變化的

sharding-jdbc可以實現不分庫的分表,在乙個資料庫裡面生成很多表名,當然也可以又分庫又分表.

在應用中使用的是乙個邏輯表t_order ,

有一些資料會被各個業務系統所使用到,可能會產生多個跨庫關聯查詢的需求,廣播表滿足了兩個條件:

1.  資料量不大

2.  更新很少

給所有的資料庫或者所有的業務系統都去放乙份兒相同的資料,這樣就不用依賴於乙個核心的資料

這種基礎資料,或者字典資料表就可以設定為廣播表.

廣播表是一種冗餘的思想,也是解決了跨庫關聯查詢,避免跨庫查詢的一種重要的手段.

比如說orde表和order_detail表是有邏輯的主外來鍵關係的   比如說order_detail表裡面有個order_id 會和order表的id做對應關係,如果兩個表在不同的datanode的話,那麼是沒有辦法實現關聯查詢的.

ElasticSearch系列04 核心概念

一 es配置檔案詳解 elasticsearch.yml es的基本配置檔案 詳見elasticsearch中文.yml logging.yml 日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置來設定就行了。二 es中的核心概念 cluster...

深入Spring Spring的幾個核心概念

spring是乙個輕量級的控制反轉 ioc 和面向切面的 aop 的容器框架 3.1 容器 spring作為乙個容器,可以管理物件的生命週期 物件和物件之間的依賴關係。可以通過配置檔案來定義物件,以及設定與其他物件之間的依賴關係。3.2 ioc 控制反轉是乙個概念,是一種思想。控制反轉就是對物件控制...

sharding jdbc 分庫分表

sharding官網 環境 jdk8,springboot jpa sharding jdbc 實現分表分庫 導包 io.shardingsphere sharding jdbc spring boot starter 3.1.0 io.shardingsphere sharding jdbc sp...