3 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
这是我前段时间已经给出的答案:
它完全取决于特定于域的应用程序需求。很多时候,直接文本文件/二进制文件访问可以非常快速,高效,并且为您提供操作系统文件系统的所有文件访问功能。
此外,您的编程语言很可能已经有一个内置模块(或很容易制作)用于特定的解析。
如果您需要的是许多附加(INSERTS?)和顺序/少数访问很少/没有并发,文件是要走的路。
另一方面,当您对并发,非顺序读/写,原子性,原子权限,数据的性质等要求时,您最好使用关系数据库或OO数据库。
使用SQLite3可以实现很多功能,它非常轻便(300kb以下),符合ACID标准,用C / C ++编写,并且非常普遍(如果它还没有包含在您的编程语言中 - 例如Python-,肯定有一个可用)。即使对于140 TB或128 tebibytes(链接到数据库大小)的db文件,它也可能更有用。
如果你的要求更大,甚至没有讨论,那就去找一个完整的RDBMS。
正如你在评论中所说的那样,“系统”只是一堆脚本,那么你应该看看pgbash。
慕莱坞森
TA贡献1810条经验 获得超4个赞
如果你能买它,不要建造它。
我最近听到了这句话,它似乎很适合作为指导。问自己这个...花了多少时间处理你的应用程序的文件处理部分?我怀疑在优化此代码以获得性能方面花费了相当多的时间。如果您一直使用关系数据库,那么处理这部分应用程序的时间会少得多。您可以有更多时间来应用您应用的真正“业务”方面。
添加回答
举报
0/150
提交
取消