2010-11-24 103 views
1

考慮到未來讀取速度和存檔的全局大小,什麼是存儲報價數據(開盤價,最高價,最低價,收盤價,成交量)的最有效方法?存儲股票報價(金融)數據的最佳方法

XML ? But It is resource consumption 
Simple CSV comma separated ? 
Is Binary maybe the best way ? 

感謝

編輯:關於數據庫,你是對的球員,但我想:他們是「好」的簡單存儲5類型的值(例如,SQLite的)?他們的架構是不是因爲我的需要而「過大」?

+1

只要您提到對未來性能和可擴展性的擔心,就會增加您的需求。這就是爲什麼每個人都建議使用數據庫解決方案而不是XML等等。此外,您可能會發現數據模型會變得越來越大,越來越複雜,您將需要在一個實體中存儲超過五個字段。 – 2010-11-24 20:25:29

+1

我想你需要了解平面文件,xml和數據庫之間的關鍵區別。考慮到你會經常查詢這些數據,最好的解決方案就是數據庫。相同數量的信息可以存儲在更少的空間中,數據庫引擎可以爲您處理所有查詢。使用XML,您將擁有重複數據的gobs以及額外數據(所有這些重複的開放/關閉標記)的gobs。使用CSV不僅會導致數據重複,您必須編寫自己的查詢引擎來查詢這些數據。 – 2010-11-24 20:26:05

回答

3

我會建議RDBMS(關係數據庫管理系統)。我不確定爲什麼這不是您的選擇之一。

RDBMSs正是爲這種類型的東西創建的,例如速度和可擴展性。如果成本是一個問題,請考慮有許多免費的,開源的或免費的,但有限的RDBMS可用版本。

一些免費的RDBMS選項:

另一種選擇:

如果您真的想避免使用數據庫,但希望獲得可靠的數據結構,則可以考慮使用XML serialized DataSet。這實際上給你一兩件事情:1)人類可讀的序列化格式和2)一個非常堅實的內存中表示,將有一段很好地擴展

回覆編輯:

你的需求是隻要您提到對未來性能和可擴展性的擔心,就會增加規模。這就是爲什麼大家都建​​議使用db解決方案而不是XML等。

4

一個簡單的標準化數據模型將很好地實現這個技巧。 XML的問題是它太冗長了。使用CSV,它不是標準化的,所以有很多重複的信息。

規範化的數據模型不僅會以有效的方式存儲所需的數據,而且對這些數據的查詢將非常重要,以及數據庫真正擅長的數據。如果您已經設計好數據模型,那麼您不會相信一個好的數據庫引擎可以爲您提供的結果的速度。

1

數據庫。 sql server,mongo,oracle,sybase,postgres,mysql。根據您的需要,環境和預算,有多種風味可供選擇。

1

我認爲NoSql會給你帶來不必要的速度。無論如何,您將無法處理大量的XML或CSV文件。