Open taco0929 opened 2 years ago
分區再分區是為了 Rebalancing 房間的例子,多一個房間的話,會需要把原本房間們的東西移過去,如果有分區的話,就能讓這過程更方便。
J 神實務上沒有遇過再分區,因為就是用 timestamp 去切。 通常就是去設定 MySQL 跟 Pg 的一些參數。
分區的一種作法:UserId + TimeStamp ex: UserId Hash 成 0~99 的值,TimeStamp 都存成 2022Q3 之類的,兩者就能形成一個 Shard Key
Query 時只要根據 時間區段 去找就好。
過舊的資料不會存在 主 Table,會根據資料熱度區分
分區的優點是可以分散平衡負載,且分區的資源都是獨立的,因此分區可以增進效能。 但當分區到一定單位時,再分區的意義是?
e.g.: 按照關鍵詞字母區分區,當b~c變大時將b~c分成ba~bg,bh~ca,這樣能增進效能嗎?