2015-01-07 55 views
1

的情況是這樣的:最有效的方法如何在商店中分離數據,數據庫

  • 我們有多個網站,其中每個人包含文本塊的隨機數。
  • 我們希望將整個頁面內容(所有文本塊)存儲到數據庫的一列中。在顯示HTML頁面的過程中,我們處理來自數據庫的內容,並將其分離爲文本塊。

存儲這些數據的最佳方式是什麼? 關鍵點是儘可能快地讀取和處理它們。存儲和預處理並不是關鍵。

在我的腦海裏有一些可能的方式:

  • 數據存儲爲XML通過特殊字符
  • 商店分開
  • 存儲數據的所有文本塊作爲一個一對多的關係到數據庫

有什麼更好的建議嗎?

+3

或者使用NoSQL存儲... –

+0

@MatíasFidemraizer你的意思是像直接存儲到文件的東西? –

+1

這是更快的「存儲由特殊字符分隔的數據」,或使用像'protobuf-net'一樣的庫。 – Aristos

回答

1

對於NoSQL文檔數據庫來說,這看起來很不錯。要問的關鍵問題是您是否需要處理這些文檔之間的關係連接。

文檔數據庫方法將存儲文檔,很可能是JSON(或者XML或HTML)。您可以使用一個密鑰來快速訪問文檔內容,並且可以隨時爲您的處理器(如果它是基於JavaScript的處理器,那麼您可能希望將其存儲爲JSON;如果沒有什麼 - 將其存儲爲HTML/XML)。

在這種情況下,您擁有一組關於電視節目的文檔,您只能通過節目抓取它們(您永遠不需要處理某個演員是否在多個節目中並告訴我們哪些節目) 。

另一方面,如果您需要在某些情況下對數據進行規範化處理,或者將來有助於這樣做,請使用關係數據庫。您可以通過以XML或JSON格式存儲文檔來模擬NoSQL,但您也可以使用具有外鍵約束的列(NoSQL比較難)。

在這種情況下,您將擁有一組包含關係信息的文檔,因此如果您需要某天告訴我們演員所在的電視節目,可以更輕鬆地完成。

如果您還不確定,請使用關係方法。它不會那麼快或者時髦,但它可以讓未來增長。

1

關鍵點被讀取並儘可能快地

處理它們聽起來像我的財產以後會用的NoSQL的。 數據庫像redis。

XML - 當你的xml文件變大時,你會失去速度,這是你的關鍵點。

相關問題