可伸縮NoSQL數(shù)據(jù)庫的五條建議

2014-10-03 09:25:22來源:InfoQ作者:張逸

Bigstep’s Full Metal Cloud公司的產(chǎn)品經(jīng)理Alex Bordei分享了他們在NoSQL使用上關(guān)于可伸縮性的經(jīng)驗。Alex給出了如下五條建議:

Bigstep’s Full Metal Cloud公司的產(chǎn)品經(jīng)理Alex Bordei分享了他們在NoSQL使用上關(guān)于可伸縮性的經(jīng)驗。Alex給出了如下五條建議:

  1. 永遠不要假設(shè)規(guī)模是線性增長的。雖然硬件是可伸縮的,但軟件并不能百分百地能利用硬件資源,卻需要為這些用不到的硬件資源買單。因而,Alex建議要尋找到硬件成本與硬件能力的切合點。下圖展示了水平伸縮與垂直伸縮方面的性價比趨勢:

    \

  2. 相信測試而非文檔。Alex告誡說,不要信任供應商的文檔,雖然研讀這些文檔非常有用,但最好還是基于自己系統(tǒng)的情況對NoSQL進行測試。由于虛擬化和云技術(shù)使得搭建平臺變得非常容易,因此不要找借口說沒條件進行測試。
  3. 體察細節(jié):內(nèi)存與CPU的度量數(shù)據(jù)。尤其對于內(nèi)存數(shù)據(jù)庫而言,內(nèi)存的性能直接影響著數(shù)據(jù)庫的性能。CPU的指標同樣需要引起重視。只有準確地獲得這些硬件資源的使用效率,才能將錢花在刀刃上。
  4. 不要忽略網(wǎng)絡(luò)延遲。只要數(shù)據(jù)庫是分布式的,必然需要占據(jù)網(wǎng)絡(luò)帶寬。無論是節(jié)點之間的通信,還是對數(shù)據(jù)建立副本,網(wǎng)絡(luò)延遲以及吞吐量都直接制約著整個系統(tǒng)的性能。如果網(wǎng)速太慢,即使內(nèi)存與CPU再好,對系統(tǒng)性能的改善也是杯水車薪。
  5. 不要對NoSQL數(shù)據(jù)庫做虛擬化。虛擬化是個好東西,但也得量力而為。由于它會影響到內(nèi)存訪問速度,而這一點對于NoSQL數(shù)據(jù)庫而言卻又至為關(guān)鍵。根據(jù)Alex的觀察,對比虛擬環(huán)境,運行在純硬件環(huán)境上的管理程序性能要提示400%左右。
關(guān)鍵詞:NoSQL