2012-12-27 34 views
-1

我在考慮使用不同的元數據和內容設置(獨特的行,鍵:值行)對文本文件進行集中存儲,但仍然不知道使用哪種技術 - 像PostgreSQL或NoSQL解決方案那樣的SQL數據庫。文本文件的集中存儲

大文件:100 - 600每MB,小查詢進行讀/寫100 - 500線

任何提示?

+1

我投票結束這個問題,因爲它太開放了。 @Jhon,也許你應該刪除這個問題,並寫下你想要做的更詳細的描述。 –

+0

請提供更多詳情。這是什麼樣的系統?它有點大嗎?將使用哪種查詢?什麼信息將被存儲? 也許MongoDB將會滿足您的需求。 – shark555

+0

@GordonLinoff我不會推薦刪除問題,而是改進這個問題。刪除問題是獲得問題禁止的途徑。 –

回答

2

真的,SQL和NoSQL系統之間的選擇取決於您正在運行的是什麼類型的系統。與大多數NoSQL系統相比,SQL相對昂貴,因爲它提供了所有ACID保證 - 原子性,一致性,完整性和持久性。如果您確實需要一致的數據,這些是保證數據一致性的重要保證。如果你不需要一致的數據(例如你是一個緩存解決方案,或者你是Twitter),那麼NoSQL系統的效率變得更加有吸引力。

針對您的特定用例;聽起來不像有很多解決方案可以幫助你。修改文本文件的中間內容要求(至少)在編輯點指向磁盤後(假設您實際上希望文件在磁盤上爲純文本)重寫文本文件的整個部分。

您可能可以在SQL或NoSQL之上構建一個系統,它將文本文件表示爲行或行塊,並且能夠以面向行的方式對它們進行操作。但即使是這種類型的系統對於大小爲100-600MB的文件來說也可能效率低下。考慮將文件本身存儲爲SQL中的某種結構化數據;然後在用戶請求全文文件時按需重新生成文件。