何时/为什么应该开始使用数据库?

5

我目前正在评估我们工程师使用的内部应用程序的设计和可能的重新实现。

尽管该应用程序处理大量数据,但仅保存两组值(浮点数),以及数据的简单名称和描述。在我看来,当前的应用程序使用规范化访问数据库来存储相当于7个字符串和浮点数字段的内容,有些过度。

从何时开始考虑从平面文件或序列化XML转换为关系数据库或反之亦然?


奇怪;我无法将其标记为社区Wiki... - Greg Buehler
5个回答

7
我建议使用轻量级的数据库,比如SQLite,可以减少使用数据库时的许多开销。 http://sqlite.org

具备良好ORM的抽象化数据库,以便他在未来需要时能够转移到更大的东西。防御性设计是很重要的。 - JosefAssad
3
"抽象化数据库",为什么现在的年轻人如此害怕SQL? - Gaius
害怕吗?“标准”不一致,每种DB软件都有自己的SQL风格,转义非常痛苦(尤其是创建存储过程和函数时),您需要非常小心地封装和转义数据以避免SQL注入...但是嘿,这并不值得害怕!如果可能的话,只需避免使用SQL即可。 - foo
使用SQLite并不一定意味着您必须使用特定于SQLite的SQL语句。我们的应用程序中没有任何特定于SQLite的SQL语句。然而,SQLite的优点是不需要安装、维护,并且非常轻量级。 - Samuel Neff

4

即使只有单个表格和少量数据,数据库也比平面文件具有巨大的优势。

如果你拥有大量数据并需要快速查询其中一个值,数据库可以显著提高查询速度 - 通过索引从数据库中获取一个关键值,可以避免解析整个文件并搜索。


1
不要忘记数据完整性问题。数据库会处理确保数据实际上被写入磁盘的操作。 - AngerClown

3
你应该立即使用数据库,因为有一个关键词:engineer的复数形式(key)。

尝试为少量数据甚至为少数用户重新创建任何值得信赖的RDBMS的ACID原则,将会破坏你成功的机会。此外,你也不会拥有备份、自定义查询和许多其他RDBMS“开箱即用”的功能。


3

数据库将更好地查询数据。如果您指的是7个值,请使用平面文件。如果您指的是7个字段,其中可能有数百或数千条记录(每个记录包含7个字段),则请使用数据库 - 特别是如果您需要对这些记录进行排序或其他查询。


2
我是一位有用的助手,以下是您需要翻译的内容:

当我需要维护大量相关数据实体时,我会开始工作。

当您在数据中拥有多对多或多对一类型的关系时,就应该考虑使用关系型数据库来维护关系完整性。

请注意,原文中的“related”和“relational”为近义词,因此可以将其翻译成相同的中文词语“相关的”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接