我正在开发一个 Firefox 扩展,它将用作用户分析和 Web 个性化引擎。需要存储网页的TF-IDF相关数据。我的问题是,哪个会产生更快的简单搜索结果?
a.使用自定义数据结构并将整个数据结构存储在文件中,将其加载到内存并查询它?
或者
b.存储和查询 SQLite 数据库中的数据?
可以安全地假设一个表中有大约 250,000 行的最坏情况。
最佳答案
您的问题基本上可以归结为:
a.我应该编写自己的数据存储系统的自定义实现吗?
或
b.我应该使用现成的、经过验证的数据存储系统吗?
我想说,如果您采用第一种方法,那么:
- 您显然最终会花时间编写这段代码。您需要权衡这一点与在现有库之上学习/编写代码所花费的时间
- 随着时间的推移,您将不可避免地开始添加功能。您必须不断重新评估添加更多代码与放弃已投入的工作并使用现有库的成本
- 您可能会遇到严重的性能问题或其他问题。当像 SQLite 这样的东西已经在生产中大量使用来发现这些问题时,您是否愿意冒这个风险?
- 您将花费多少时间来处理由数据存储引起的错误,而这些错误可以使用现成的库来避免?
看待这个问题的另一种方式是:为什么不使用 SQLite?对于您的场景来说,它是否存在某种问题?我想不出任何一个。
我当然倾向于从 SQLite(或类似的东西)开始。如果事实证明它在某种程度上不起作用,只有在用尽任何其他现成的替代方案之后,我才会考虑编写自己的数据存储库。
关于javascript - 哪个更省时?文件存储或 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522732/