官术网_书友最值得收藏!

  • MongoDB權(quán)威指南(第3版)
  • (美)香農(nóng)·布拉德肖 克里斯蒂娜·霍多羅夫 (愛爾蘭)約恩·布拉齊爾
  • 546字
  • 2021-12-06 11:37:08

1.2 易于擴展

應(yīng)用程序的數(shù)據(jù)集大小正以驚人的速度在增長。可用帶寬的增加和存儲價格的下降,使得即使是小規(guī)模的應(yīng)用程序所需要存儲的數(shù)據(jù)量,也超出了很多數(shù)據(jù)庫的處理能力。TB 級別的數(shù)據(jù)量,過去聽起來是天文數(shù)字,現(xiàn)在已經(jīng)司空見慣了。

隨著所需存儲數(shù)據(jù)量的增長,開發(fā)人員面臨一個艱難的決定:應(yīng)該如何擴展數(shù)據(jù)庫?這可以歸結(jié)為兩種選擇:縱向擴展(提高配置)和橫向擴展(將數(shù)據(jù)分布到更多機器上)。縱向擴展通常是阻力最小的途徑,但它也有缺點:大型機器一般非常昂貴,而且在最終達到物理極限時,就無法再升級到更高的配置了。另一種方式是橫向擴展:如果想增加存儲空間或增加讀寫操作的吞吐量,那么可以購買額外的服務(wù)器,并將它們添加到集群中。這既便宜又便于擴展,但管理 1000 臺機器比管理 1 臺機器困難得多。

MongoDB 的設(shè)計采用了橫向擴展。面向文檔的數(shù)據(jù)模型使跨多臺服務(wù)器拆分數(shù)據(jù)更加容易。MongoDB 會自動平衡跨集群的數(shù)據(jù)和負載,自動重新分配文檔,并將讀寫操作路由到正確的機器上,如圖 1-1 所示。

圖 1-1:使用分片將 MongoDB 橫向擴展至多臺服務(wù)器

MongoDB 集群的拓撲結(jié)構(gòu),或者說其連接的是一個集群還是單個節(jié)點,對應(yīng)用程序來說都是透明的。這使得開發(fā)人員能夠?qū)W⒂趹?yīng)用程序的開發(fā),而無須考慮擴展問題。同樣,如果需要擴展現(xiàn)有部署的拓撲結(jié)構(gòu)以支持更多負載,那么也無須更改應(yīng)用程序的邏輯。

主站蜘蛛池模板: 介休市| 柳江县| 龙游县| 武宁县| 丰城市| 鄱阳县| 保山市| 离岛区| 突泉县| 伊吾县| 京山县| 宝坻区| 新竹县| 临西县| 宜君县| 时尚| 普兰店市| 湟源县| 富锦市| 天水市| 昭通市| 孟州市| 宁强县| 筠连县| 竹北市| 绍兴县| 吴桥县| 洪洞县| 阿合奇县| 高青县| 若尔盖县| 江安县| 准格尔旗| 新乡市| 尼勒克县| 池州市| 沭阳县| 龙门县| 饶阳县| 高雄市| 江北区|