通過MongoDB分片,他們節(jié)約了近半年的開發(fā)時間?

大數(shù)據(jù)

作者:上海小胖

SteppeChange通過使用MongoDB,從其應(yīng)用程序的開發(fā)進度中節(jié)省下大約六個月的時間。

SteppeChange是一家大型數(shù)據(jù)分析技術(shù)公司,負責(zé)設(shè)計和實施客戶定制,快速上市的數(shù)據(jù)科學(xué)和技術(shù)解決方案。他們與世界各地的客戶合作,為挑戰(zhàn)性問題找到創(chuàng)新的解決方案,并分配分析工作,創(chuàng)造最大的價值。

SteppeChange首席技術(shù)官兼首席數(shù)據(jù)架構(gòu)師Gregory Rayzman分享了為什么公司依靠MongoDB進行各種解決方案,其中包括為2.2億全球用戶提供的可擴展的移動客戶參與平臺。

1、復(fù)雜任務(wù)

全球科技公司聘請SteppeChange建立一個移動客戶互動平臺,供全球移動運營商使用。SteppeChange被第二個分配了這個項目,SteppeChange知道他們將要面對挑戰(zhàn),因為不同的國家有非常不同的數(shù)據(jù)管理法律。 雖然一個國家可能要求所有數(shù)據(jù)在休息時加密,但另一個國家可能要求所有數(shù)據(jù)都存儲在其國家邊境內(nèi)。

SteppeChange的目標是建立一個具有單一代碼庫的平臺,同時平衡多個數(shù)據(jù)管理要求,滿足全球2.2億用戶的預(yù)期需求。

2、設(shè)計選項

在評估數(shù)據(jù)庫選項時,尋找滿足多個國家管理的不同數(shù)據(jù)管理需求的系統(tǒng)是至關(guān)重要的。在調(diào)查了諸如MySQL和PostgreSQL等關(guān)系型數(shù)據(jù)庫以及Cassandra和Couchbase等NoSQL數(shù)據(jù)庫后,SteppeChange很快就意識到MongoDB Enterprise Advanced提供了SteppeChange所需要的靈活性、可擴展性和敏捷性。

MongoDB Zones 功能對SteppeChange的應(yīng)用程序至關(guān)重要。使用它,SteppeChange可以將MongoDB集合中的數(shù)據(jù)分解成多個分片,并將每個分片分配給特定地理位置相關(guān)聯(lián)的區(qū)域。區(qū)域是同一集群的一部分,可以在全球查詢,但數(shù)據(jù)位于當(dāng)?shù)厥鞘艿椒稍试S的。 MongoDB區(qū)域分片的延遲不僅減少,而且SteppeChange還可以獨立于其他區(qū)域擴展以及擴展每個區(qū)域。

MongoDB Cloud Manager也是建立和監(jiān)控MongoDB部署的主要資產(chǎn)。它允許SteppeChange可視化所有系統(tǒng)的持續(xù)狀態(tài)和狀態(tài),排除問題,并輕松執(zhí)行時間點恢復(fù)。

3、解決方案

使用MongoDB Zones,SteppeChange將用戶數(shù)據(jù)以監(jiān)管為目的進行分割,并將其保留在當(dāng)?shù)毓茌牱秶鷥?nèi)。更具體地說,用戶數(shù)據(jù)在物理上位于適當(dāng)國家的數(shù)據(jù)中心,使得應(yīng)用程序?qū)τ脩魯?shù)據(jù)的訪問符合本地法規(guī)邊界。

SteppeChange設(shè)計并建立了一個由三個區(qū)組成的多分片MongoDB集群。每個Shard都有三個副本集,除了用于報告隱藏的無投票權(quán)節(jié)點之外,還允許系統(tǒng)基于節(jié)點功能來達到負載均衡。SteppeChange將特定管轄區(qū)有關(guān)的數(shù)據(jù)部署在相應(yīng)管轄范圍內(nèi)的數(shù)據(jù)中心,而不受相同法規(guī)限制的數(shù)據(jù)部署在AWS上。

對于部署在AWS上的MongoDB區(qū)域分片,SteppeChange在多個AWS可用區(qū)域(AZ)上分發(fā)復(fù)制集節(jié)點,以提高應(yīng)用程序可用性并防止AWS中斷。此外,SteppeChange還針對配置服務(wù)器使用類似的設(shè)計 – 它們也駐留在多個AZ中。

為了保證遵守安全和隱私標準,SteppeChange還利用MongoDB的本機加密。為了滿足關(guān)于數(shù)據(jù)訪問的規(guī)定,SteppeChange使用審計框架來記錄對數(shù)據(jù)庫執(zhí)行的所有管理和非管理操作。

大數(shù)據(jù)

SteppeChange的部署拓撲圖

4、MongoDB加速交付

通過MongoDB,SteppeChange可以通過從開發(fā)時間表中節(jié)省下大約六個月時間來快速將SteppeChange的應(yīng)用推向市場。 SteppeChange的團隊已經(jīng)能夠利用基于MongoDB BSON的文檔存儲,二進制Serializable JSON對象。這是SteppeChange應(yīng)用程序中使用的基于JSON的底層數(shù)據(jù)結(jié)構(gòu)的完美原生匹配,它提供了一種快速添加新功能的敏捷方法。 SteppeChange還能夠簡化數(shù)據(jù)管理,消除數(shù)據(jù)遷移的復(fù)雜性,提高開發(fā)人員的工作效率,并讓SteppeChange的工程團隊專注于手頭的任務(wù)。

在不斷向前邁進的今天,SteppeChange也在尋求擴大MongoDB中其它功能的使用,例如地理空間功能,例如地理圍欄和基于地理位置的報價管理,并將其添加到SteppeChange的移動客戶參與平臺。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責(zé)任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2017-11-10
通過MongoDB分片,他們節(jié)約了近半年的開發(fā)時間?
作者:上海小胖 SteppeChange通過使用MongoDB,從其應(yīng)用程序的開發(fā)進度中節(jié)省下大約六個月的時間。 SteppeChange是一家大型數(shù)據(jù)分析

長按掃碼 閱讀全文