2015-05-13 32 views
1

首先,我在關係數據庫方面有豐富的經驗,但對文檔數據庫非常瞭解。我正在探索MongoDB,但我的問題一般是針對文檔DB。如何爲MongoDB定義容器?

AFA我知道(我可能是錯的),一個文檔數據庫是由容器和容器組成的,它們包含了不同的對象結構。這些對象結構的定義使得過濾器和信息可以以最佳方式應用。例如。 A由作者撰寫。所以Book的對象也將包含作者列表。這樣可以更快地搜索,並且可以獲得性能。

我的問題是什麼? 我正在創建一個應用程序(尚未開始,因爲我在這裏感到困惑)。這是關係數據庫是這樣的....

enter image description here

的問題是我不能夠設計文檔數據庫結構的這一要求。

請有人幫我設計這樣的數據庫或者可以給我點子「設計這樣的數據庫時應該選擇什麼方法?

+1

當您使用文檔數據庫時,實體關係圖通常不是一個很好的指南。 – Philipp

+0

@ Philipp,不錯,但是因爲我想給我的數據給這個問題的讀者最好的解釋,所以我必須包括這個。 (我知道ER與DocumentDB無關) –

回答

0

這歸結爲回答下列問題:

  1. 什麼是你最常用的訪問模式?考慮你的API方法或者前5-10個查詢來決定如何組織是有幫助的。
  2. 您的交易需求是什麼?哪些實體類型在交易和查詢中一起出現?
  3. 他們多久更換一次?你應該嵌入還是參考?

如果您可以包含這些詳細信息,我們可以提供更有針對性的建議。如果你還沒有, http://azure.microsoft.com/documentation/articles/documentdb-modeling-data/也值得一讀。

DocumentDB和關係數據庫/ MongoDB之間的主要區別在於集合更像是分片/分區而不是表。