2013-06-03 163 views
7

我正在研究一個將解析,處理和格式化大量數據塊(恆星位置和亮度數據)的應用程序。一個晚上的數據可以有十幾個文件,每個文件包含數百行。我有兩種選擇來存儲和訪問原始數據:數據庫(MySQL)或JSON文件。這都是在本地環境中,所以帶寬和請求時間幾乎可以忽略不計 - 但我不太清楚哪一個選項可以說哪個是最優的。本地存儲:MySQL與JSON?

你是否能夠開明的SO社區分享你的知識:一個人是否是明確的選擇?我並不需要對數據進行分段,所以MySQL的關係功能是沒有爭議的 - 只是想知道一個是更快還是更輕量級。

(盡我所能閃躲「這是更好的」禁忌 - 如果我能改寫或澄清,請讓我知道!)


編輯:說正經的,匿名的接近票數也沒有什麼幫助。我想學習如何更好地形成我的問題,以免浪費每個人的時間 - 告訴我可以做些什麼來改變它!

+0

如果你正在處理文件,那麼爲什麼你不能直接將它們保存到你的服務器。這樣,您就不必擔心由於SQL查詢或從JSON中檢索而導致的開銷。 – ShuklaSannidhya

+0

@ShuklaSannidhya .json和.sql是這個數據的兩個導出選項。即使我有原始文本文件,我也不得不手動解析它們並考慮可能的數據模式異常 - JSON至少會被加載到對象中。 – CodeMoose

+0

我認爲這裏最大的問題是「一旦保存後你將如何訪問這些數據?」 –

回答

6

如果你總是要保存和加載整個數據集,並且不需要做複雜的查詢,那麼JSON可能是更簡單和更高效的方法。但如果你真的想確定,你應該對它們進行基準測試。

還有一些數據庫的開銷比MySQL少,比如SQLite。

+0

+1閱讀整個事情 – CodeMoose

3

你會不斷地加載和使用整個數據集,或者你只是真的想要它的一部分?

如果您想要數據庫爲您提供的某些內容,請使用數據庫(mySql或Sqlite或其他),具體來說就是查詢您的數據集。 (安全和規範化以及標準化也很好吃。)

如果您不想要數據庫提供的任何內容,並且希望將整個數據集加載到內存中,請使用原始文件(csv,xml,json) 。

+0

謝謝Doug!我要加載數據的唯一時間是整個塊的分析,所以查詢是無關緊要的 - 猜猜我要用json! – CodeMoose