2014-02-06 98 views
0

我正在爲我的大學開發一個討論論壇。爲了這個操作我使用CouchDB作爲數據庫的數據。CouchDB的性能分析

我發現難以設計我的數據庫結構,以最大限度地提高我的數據庫的性能。

我想討論一下設計文檔數據庫的好做法。

  1. 要麼我們應該只有一個數據庫作爲SQL,並使'n'沒有。數據庫中的文件。
  2. 或者我們可以做更多的數據庫爲了扁平我的數據庫結構。這也減少了更多沒有。要開發的文件。

回答

0

由於您沒有提供太多信息,因此很難說出正確的方式來建模數據。儘管您希望在一個數據庫中保留儘可能多的數據,因爲這允許您將它們索引在一起(索引不能跨越多個數據庫)。

另外,由於數據庫中沒有模式強制,所以您可以在每個數據庫中創建不同類型的記錄。例如,在同一個數據庫中同時存在用戶信息和論壇條目沒有任何問題。

最後,您將很可能希望將郵件及其回覆保留在不同的記錄中。這是一箇舊的但仍然有關此主題的討論:http://www.cmlenz.net/archives/2007/10/couchdb-joins

乾杯。

1

您需要提出的問題只是這個:「您想如何從數據庫中獲取數據?」

數據庫設計取決於所要查詢的內容,而不是可用於存儲的內容。

這對像Couch這樣的文檔數據庫特別重要,因爲儘管它具有靈活的模式,但它沒有靈活的索引。我的意思是說,由於數據的精細程度,後來的情況相當類似,當你需要提出一個問題時,並不是要回答這個問題,回答這個問題可能會非常昂貴。當數據庫中的數據很少時,而不是在數千或數百萬行之後再設計視圖和其他構造時,便宜得多,便宜得多。

RDBMS的,因爲他們傾向於更精細的數據粒度,往往更靈活的新查詢,並在今後的生活中。文檔數據庫,不是那麼多。因此,先考慮一下你的用例,然後圍繞這些用例進行設計,並在早期設計這些用例,現在它比以後更輕鬆無痛。