2016-11-02 71 views
3

所有其他條件都相同(關於特徵的要求,數據要求,等等),這是在以下的功能快:Azure表存儲與Azure文檔數據庫 - 性能對比?

  • 插入
  • 更新
  • 讀取
  • 刪除

請問,我正在尋找這些原始函數的直接比較,因爲這些原始函數可以根據特性要求同時有效地使用。

回答

16

你正在比較蘋果和橘子,而且對於你應該選擇其中一種的場景沒有正確的答案。但客觀,有一些離散的差異:向上

  • 表存儲支持到2000個交易/秒,每個分區(由選擇的分區鍵指示),以及用於整個存儲帳戶20000個交易/秒。交易數量不能保證,並且根據實體大小而變化
  • DocumentDB儘管沒有每秒提供「交易」,但卻提供了每秒「請求單位」的保證級別。通過測量您的各種查詢,您可以擴展您的數據庫,以提供您的應用程序所需的每秒交易次數。通過允許您調整給定集合的RU,DocumentDB可以有效地讓您擴展到比表存儲更大的事務速率(您當然可以利用多個存儲帳戶來提高有效的表存儲事務速率)。 DocumentDB提供每集合(標準集合)高達10K RU /秒或250K RU /秒(分區集合),並且可以根據需要提高每個支持的限制。
  • 表存儲支持實體組事務,允許將多達100個實體(最多4MB有效載荷)的操作批量分配到單個原子事務中。事務綁定到單個分區。
  • DocumentDB允許事務在集合的範圍內發生。如果在存儲過程中執行多個數據庫操作,那麼這些操作會以原子方式成功或失敗。
  • 表存儲是一個鍵/值存儲區,在分區鍵+行鍵上的查找可以產生非常有效的點查找。一旦開始檢查PK/RK以外的屬性,您將輸入分區掃描或表掃描的空間。
  • DocumentDB是一個文檔存儲,您可以索引文檔中的任何/所有屬性。

  • 表存儲可擴展到500TB每個帳戶。

  • 如果您要求額外的存儲空間(例如500TB),DocumentDB可擴展到每個集合250GB。
  • 表存儲通過存儲訪問密鑰提供安全性。有一個主存儲帳戶密鑰,以及生成共享訪問簽名以爲特定表提供特定訪問權限的功能。
  • DocumentDB同時具有讀/寫和只讀管理員密鑰,用戶級訪問收藏沿着/文件

  • 表存儲和DocumentDB有非常不同的定價模型(其中表存儲簡直就是以每個GB每月成本,以及交易的名義成本)。但是,回到我的蘋果VS橘子的觀點:DocumentDB是數據庫引擎 - 查詢語言,服務器端的過程,觸發器,索引等

我敢肯定有一些客觀的比較,我錯過了,但是這會給你一個很好的起點,讓你決定使用其中一個,另一個還是兩者。你如何選擇將它們應用於你的應用程序,是否真的取決於你,以及你的優先級(Scale?Queries?Cost?等等)。

+0

大衛,謝謝你這個偉大的答案。這幾乎告訴我我需要知道什麼,併爲我提供了一個很好的發現點,以便在需要時發現更多信息。我知道我在比較蘋果和橘子,這就是爲什麼我說「所有其他事情都是平等的」。 :-) – richard