【问题标题】:Is it better to read a data from file or database?从文件或数据库中读取数据更好吗?
【发布时间】:2016-02-08 11:13:54
【问题描述】:

在我的应用程序中,客户将收到一组 5 个基于选择的问题。根据答案,他将获得报价。答案选项和提议按以下方式映射。

[1,3,2,5,4] - 报价 5,

[1,1,1,2,1] - 报价 2

总共大约 30 个映射。

这是我需要澄清的地方。 我应该将它存储在应用程序数据库中还是文件中? 哪种方法最好?为什么?

【问题讨论】:

  • 是静态数据吗?是否需要编辑?是否需要以编程方式进行编辑?多久需要编辑一次?用 YAML/JSON 等易于编辑的东西编写它更容易吗?与数据库相比,这种轻松是否值得任何权衡?数据是否需要查询?查询有多复杂?在 SQL 中编写查询或读取静态文件并应用一些代码逻辑是否更容易? – 最后需要决定!

标签: database postgresql ruby-on-rails-4 data-management


【解决方案1】:

出于多种原因,适当的数据库几乎总是更好的选择:

  1. 它解决了目前您甚至不知道它们存在但您迟早会面临的问题(例如一致性、效率、原子性等)。
  2. 它允许更轻松地扩展应用服务器(如果我们谈论的是专用数据库服务器)。
  3. 更易于管理(例如索引、CRUD 查询等)。不要重复造轮子,要利用别人努力的成果。
  4. 可以以相对较低的成本轻松扩展。

但是,如果您不一定认为自己需要多台机器,那么 sqlite 仍然是比手动文件处理更好的选择。

【讨论】:

  • 感谢您的回复@freakish
【解决方案2】:

文件系统需要解析数字、日期(数据库中的记录)等等...您应该知道 txt 文件的内容不会被索引。但是在DB中,数据可以被索引,你可以查询数据库得到结果。所以它对于管理目的很有用。另一种是关系模型,因此数据不需要一遍又一遍地重复(我们在 DBMS 中称为冗余)

所以毕竟你应该知道文件系统在某些情况下可能有用,但不是所有情况。

【讨论】:

  • 感谢@Pokies 的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 2015-12-19
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多