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