3 回答

TA貢獻2041條經驗 獲得超4個贊
這是我前段時間已經給出的答案:
它完全取決于特定于域的應用程序需求。很多時候,直接文本文件/二進制文件訪問可以非??焖?,高效,并且為您提供操作系統文件系統的所有文件訪問功能。
此外,您的編程語言很可能已經有一個內置模塊(或很容易制作)用于特定的解析。
如果您需要的是許多附加(INSERTS?)和順序/少數訪問很少/沒有并發,文件是要走的路。
另一方面,當您對并發,非順序讀/寫,原子性,原子權限,數據的性質等要求時,您最好使用關系數據庫或OO數據庫。
使用SQLite3可以實現很多功能,它非常輕便(300kb以下),符合ACID標準,用C / C ++編寫,并且非常普遍(如果它還沒有包含在您的編程語言中 - 例如Python-,肯定有一個可用)。即使對于140 TB或128 tebibytes(鏈接到數據庫大小)的db文件,它也可能更有用。
如果你的要求更大,甚至沒有討論,那就去找一個完整的RDBMS。
正如你在評論中所說的那樣,“系統”只是一堆腳本,那么你應該看看pgbash。

TA貢獻1810條經驗 獲得超4個贊
如果你能買它,不要建造它。
我最近聽到了這句話,它似乎很適合作為指導。問自己這個...花了多少時間處理你的應用程序的文件處理部分?我懷疑在優化此代碼以獲得性能方面花費了相當多的時間。如果您一直使用關系數據庫,那么處理這部分應用程序的時間會少得多。您可以有更多時間來應用您應用的真正“業務”方面。
添加回答
舉報