3 回答

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

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果你能買(mǎi)它,不要建造它。
我最近聽(tīng)到了這句話,它似乎很適合作為指導(dǎo)。問(wèn)自己這個(gè)...花了多少時(shí)間處理你的應(yīng)用程序的文件處理部分?我懷疑在優(yōu)化此代碼以獲得性能方面花費(fèi)了相當(dāng)多的時(shí)間。如果您一直使用關(guān)系數(shù)據(jù)庫(kù),那么處理這部分應(yīng)用程序的時(shí)間會(huì)少得多。您可以有更多時(shí)間來(lái)應(yīng)用您應(yīng)用的真正“業(yè)務(wù)”方面。
添加回答
舉報(bào)