月度歸檔:2019年02月

可靠的因果保證

傳統的數據庫由于服務于單個節點,因此自然地為讀寫操作提供了順序保證,這稱為“因果一致性(causal consistency)”。分布式系統同樣可以提供這些保證,但要做到這一點,就必須對所有節點上的相關事件進行協調和排序,并對某些操作完成的速度進行限制。雖然在所有數據順序能得到保證時因果一致性很容易[......]

閱讀全文

成功案例 I Metlife 大都會人壽的經驗分享

MongoDB幫助我們用短短90天內交付了客戶360項目。對大都會人壽,這是真正突破,保險業的開創性突破。它樹立了我們所期望的公司榜樣。——John Bungert,大都會人壽高級架構師

2011 年,保險巨頭大都會人壽 (MetLife) 的新高管團隊意識到,他們必須重審對客戶需求的認識。因為當[......]

閱讀全文

使用模式構建:桶模式(The Bucket Pattern)

在本期《使用模式構建》中,我們將介紹桶模式。這種模式在處理物聯網(IOT)、實時分析或通用時間序列數據時特別有效。通過將數據放在一起,我們可以更容易地將數據組織成特定的組,提高發現歷史趨勢或提供未來預測的能力,同時還能對存儲進行優化。

桶模式

隨著數據在一段時間內持續流入(時間序列數據),我們可[......]

閱讀全文

使用模式構建:屬性模式(The Attribute Pattern)

歡迎回到MongoDB模式設計系列。上一次我們研究了多態模式,它涵蓋了集合中所有文檔具有相似但不相同結構的情況。在本文中,我們將了解一下屬性模式。屬性模式特別適用于以下情況:

  • 我們有一些大文檔,它們有很多相似的字段,而這些字段的一個子集具有共同的特征,我們希望對該子集字段進行排序或查詢;
  • 我們需[......]

閱讀全文

使用模式構建:多態模式(The Polymorphic Pattern)

當涉及MongoDB時,一個經常被問到的問題是“我如何在MongoDB中為我的應用程序構造模式(schema)?”老實說,這要看情況而定。你的應用程序讀操作比寫操作多嗎?從數據庫中讀取時需要將哪些數據放在一起?有哪些性能因素需要考慮?文檔有多大?它們今后會變成多大?你預計數據會如何增長和擴展?

所[......]

閱讀全文

擴展你的復制集:MongoDB 4.0中從節點的非阻塞讀操作

MongoDB 4.0增加了一個能力,在副本處理寫操作的同時可以由從節點(secondary)讀取數據。為了理解這個的重要性,讓我們看看4.0版本之前從節點是如何處理的。

背景

從一開始,MongoDB就是這樣設計的:當主節點上有一系列的寫入操作時,每個從節點必須以相同的順序體現出這些操作。如果[......]

閱讀全文