怎么選擇MongoDB的分片字段
怎么選擇MongoDB的分片字段
幕布斯6054654
2019-03-02 07:03:20
TA貢獻1890條經驗 獲得超9個贊
Mongodb中一個被分片的Collection的所有數據都存放在眾多的Chunk中。一個Chunk存放分片字段的一個區間范圍的數據。選擇一個好的分片字段非常重要,否則就會遭遇到不能被拆分的大Chunk。
用上述的日志為例,如果選擇{server:1}來作為一個分片Key的話,一個server上的所有數據都是在同一個Chunk中,很容易想到一個Server上的日志數據會超過200MB(默認Chunk大?。?。如果分片Key是{server:1,time:1},那么能夠將一個Server上的日志信息進行分片,直至毫秒級別,絕對不會存在不可被拆分的Chunk。
將Chunk的規模維持在一個合理的大小是非常重要的,只有這樣數據才能均勻分布,并且移動Chunk的代價也不會過大。
舉報