2011-03-26 24 views
1

我想弄清楚什麼時候「文本條目」應該作爲靜態文件存儲在數據庫中的截止點。這裏有什麼經驗法則嗎?文本條目將位於最多幾段,並具有指向圖像和表格的鏈接(以及指向其他文本條目的超鏈接)。用於文本輸入的一些標準:Rails CMS:靜態文件或數據庫記錄?

  1. 我想使用DITA的內容格式的
  2. 文本應該是搜索
  3. 如果文本修訂,新的版本將被創建

在此先感謝,查克

回答

0

「rails方式」將使用數據庫。

該解決方案將更具可擴展性,因此可以更快速並且可能更易於開發(使用遷移等)。使用文件系統,您將不得不自己構建大量功能,這些功能已經實現用於數據庫使用。

您可以創建模型(例如)文檔並輕鬆使用現有的版本控制系統,如paper_trail。當使用索引搜索時,您可以擁有has_many關係,使您能夠實現模型之間的依賴關係(銷燬模型意味着銷燬搜索索引)。

+0

要明確一點,如果我引用這些文本條目,我不會使用「rails方式」嗎?例如,在Rails照片應用程序中,管理是通過引用靜態圖像文件來處理的(它們不是作爲數據庫中的斑點存儲的,對吧?)。 – 2011-03-26 15:41:47

+0

那麼使用Document-Modell來實現搜索,版本控制等是必須的。將照片寫入光盤通常是很常見的,因爲它們並不經常更改,而且尺寸較大,所以這是同步數據庫系統和文件系統的工作。在你的情況下,將會有(imo)對「one」文檔的依賴太多,並且與圖像相比,大小很小,所以你不需要從數據庫中卸載數據庫。 – abstraktor 2011-03-26 22:10:12

+0

sry for the typo :將照片寫入光盤通常是很常見的,因爲它們不會經常變化並且尺寸很大,所以它**值得**同步數據庫系統和文件系統。 – abstraktor 2011-03-26 22:16:35

0

您可以查看數據庫提供的內容,並問問自己這些功能是否有用,而不是切斷。採取隔離(我在ACID):如果您有任何擔心多人可能試圖同時編輯一個條目,數據庫將處理好,而你必須自己處理鎖使用文件。或Atomicity:你可能想要一次更新兩件事(例如索引頁和入口頁),並知道它們都會成功或者兩者都失敗。

數據庫執行超出ACID的許多事情,比如利用多個數據類型,使查詢更容易,並允許縮放。這是一個值得問的問題,因爲大多數數據庫最終都會將數據存儲在磁盤上的一堆文件中。如果你自己使用文件,你最終會寫迷你數據庫嗎?另外,如果你使用的是rails,那麼你就可以利用它的ActiveRecord功能,並且可以使用許多期望數據庫的插件。

即使是一個小型的單用戶rails應用程序,我也會使用數據庫。

相關問題