您好,登錄后才能下訂單哦!
本篇內容介紹了“mycat范圍分庫和Hash分庫怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
2.1、范圍分庫
所謂的范圍分庫指的是可以根據你的id的范圍進行不同數據庫的保存,或者
是根據你的數據庫的數據大小來進行保存進行的一種處理機制。
1、【mycat-server-01】定義一個新的分片規則:vim/usr/local/mycat/conf/rule.xml;
設置該分片處理所使用的算法:
此時需要設置一個分片的規則文件:orders-partition-long.txt。
2、【mycat-server-01】編寫具體的分片規則:vim/usr/local/mycat/conf/orders-partition-long.txt
3、【mycat-server-01】更換分片規則:vim/usr/local/mycat/conf/schema.xml;
<tablename="orders"primaryKey="oid"dataNode="dn1,dn2,dn3"rule="myorders-auto-sharding-long"/>
那么隨后啟動mycat服務:/usr/local/mycat/bin/mycatconsole;追加數據:INSERTINTOorders(oid,title,pubdate)VALUES(11,@@hostname,'2020-01-01');這個時候將根據訂單的編號來選擇不同的分片進行數據的存儲
2.2、Hash分庫
Hash分庫可以實現根據不同的編號保存到不同的數據庫的操作,例如:假設說現在要求按照所在的地區進行分庫的保存,這種情況就稱為hash分庫處理。
1、【mycat-server-01】設置一個新的分片規則:vim/usr/local/mycat/conf/rule.xml;
·增加新的分片項:此時title的可選內容一定是固定的;
·增加相應的算法配置:
對于hash分片需要設置它一個分片的數據類型:
·type=0:表示數字型分片;
·type=1:描述的是字符串分片。
·建立hash分片原則配置文件:
vim/usr/local/mycat/conf/myorders-partition-hash-int.txt
那么此時title可以設置的內容就只有以上的幾點了。
2、【mycat-server-01】配置mycat分片規則:vim/usr/local/mycat/conf/schema.xml;
<tablename="orders"primaryKey="oid"dataNode="dn1,dn2,dn3"rule="myorders-by-intfile"/>
3、【mycat-server-01】啟動mycat服務:/usr/local/mycat/bin/mycatconsole;
允許你追加的title的內容是有限的。
INSERTINTOorders(oid,title,pubdate)VALUES(13,'sh','2020-01-01');
一般而言如果要想實現Hash的分片處理,往往需要有一些固定的數據信息出現,例如:按照省份分片,按照城市分片。
“mycat范圍分庫和Hash分庫怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。