mysql的二级分区_分布式数据库一级分区和二级分区
1.1 一級分區
OceanBase1.0現在支持的一級分區類型有:HASH, KEY, RANGE, RANGE COLOMNS (LIST, LIST COLUMNS, INTERVAL分區正在開發中)
1.2 二級分區
上面介紹了基本的一級分區功能, 一級分區只能按照一個維度進行數據的劃分,而很多互聯網流水業務都需要按兩個維度劃分數據:一個維度是時間,數據是按照時間順序生成的;另外一個維度是用戶。這時候就能使用OceanBase的二級分區的方式來劃分數據,時間維度用RANGE分區,用戶ID用HASH分區。
二級分區的每一級分區方式與一級分區方式相同,只是第二級的分區是在第一級分區的基礎之上再進行一次分區劃分。如下history_t表按一級HASH劃分3個分區,每個一級分區按時間RANGE COLUMNS劃分為4個分區,總共有12個分區。
CREATE TABLE history_t(user_id INT, gmt_create DATETIME, info VARCHAR(20), PRIMARY KEY(user_id, gmt_create))PARTITION BY HASH(user_id)SUBPARTITION BY RANGE COLUMNS(gmt_create)
SUBPARTITION TEMPLATE (SUBPARTITION p0 VALUES LESS THAN ('2014-11-11'),
SUBPARTITION p1 VALUES LESS THAN ('2015-11-11'),
SUBPARTITION p2 VALUES LESS THAN ('2016-11-11'),
SUBPARTITION p3 VALUES LESS THAN (MAXVALUE))PARTITIONS 3;
這12個分區對于業務方是透明的,業務方看到的是一張表,但數據是按照用戶和時間序列兩個維度劃分到不同分區,這些分區可以分布到不同服務器,當某一用戶數據量增大時,可以增加二級分區的個數,并將數據均衡到更多的服務器,從而可以很好的解決大用戶擴展性的問題。并且要刪除過期數據的話,可以通過drop分區實現。
總結
以上是生活随笔為你收集整理的mysql的二级分区_分布式数据库一级分区和二级分区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql1215_这15条MySQL改
- 下一篇: mysql scope runtime_