配置mycat對資料表進行水平分片分庫處理

2021-08-20 03:09:41 字數 1331 閱讀 6533

當我們的資料達到千萬或著億級別資料量的時候,單庫的壓力比較大,為解決這個問題我們可以將資料量比較大的資料表進行單獨分散,將其分散到其他的庫中,可以對這張表進行水平切割。這樣分庫的壓力就會下很多。

舉例:1、我們建立多個資料庫,執行create database shop_cart1,create database shop_cart2,create database shop_cart3,接下來,我們分表use shop_cart1、2、3;建立以後資料量比較大的shop_cart 表。

這樣的話我們三個庫里都有shop_cart表了,將來我們要將資料寫進這三個庫對應三張表裡,寫的時候做hash處理,將資料分配到三張資料表中。舉例:寫進來的第一條資料分配到第一張表裡,第二條資料分配到第二個表裡,第三條資料分配到第三張表裡。

雖然我們是這樣的思路,資料庫資料表也是建好了,但是資料並不會自動的分配到對應資料表中。接下來我們要配置mycat實現這樣的功能,回到mycat這台機器進行配置。

配置schema.xml,因為我建了三個庫,第二個紅色框框裡

接下來配置第乙個紅色框框rule,找到conf下的rule.xml檔案,進行配置

我按照使用者userid進行一致性hash處理,進行資料分配。

接下來再對server.xml檔案配置

接下來配置sequence_conf.properties檔案

然後重啟mycat

進入client客戶機器執行mysql -uroot -p123456 -h192.168.199.100 -p8066 進入mysql裡面。

use shop   資料庫

show tables;

select * from shop_cart;

接下來執行insert into shop_cart(carted,productid,producenum,price,userid,createtime,updatetime) values(next value for mycatseq_cart,1,30,90,1,12,12);同樣的步驟執行多次,來檢視資料的分配。這些次我們將userid改動一下。接下來我們分別去幾個資料庫去查一下資料。

django刪除資料表以及對資料表進行改動更新

實在是氣的不行,被坑的太難受了,為了防止有人繼續走彎路,我來寫這篇文章了。本人屬於大學需要做專案,自己摸索著使用django,所以最開始django的資料庫就是個老大難的問題,當我生成的資料表我想刪除時,我去網上查了很多解答,那些辦法不僅複雜的不行,還無數次的把我的資料庫整崩,然後我就不斷的重新建新...

MySQL對資料表已有表進行分割槽表

對現有的乙個表進行建立分割槽表,並把資料遷移到新錶,可以按時間來分割槽,然後這錶不是實時更新,每天有一次插入操作。時間比較充裕,但是伺服器上有其他應用,使用較小資源為主要方式。1 可以使用alter table來進行更改表為分割槽表,這個操作會建立乙個分割槽表,然後自動進行資料copy然後刪除原表,...

如何用oracle對資料表進行簡單操作

size medium 用oracle對資料表進行操作,不外乎就是增,刪,改,查。今天剛裝上oracle,就用oracle對資料表進行簡單的操作,和我之前學習的access還是有點差別的,首先就是覺得oracle比access顯的更安全,功能更多,然後就是oracle操作時,覺得有點複雜,可能是很久...