【发布时间】:2011-01-11 11:57:24
【问题描述】:
【问题讨论】:
标签: database database-normalization
【问题讨论】:
标签: database database-normalization
NoSQL 不是灵丹妙药:它只是一种技术,可以更好地适应某些情况。对于关系型数据,RDBMS 不会很快消失。
【讨论】:
这取决于使用数据库的应用程序类型。
对于 OLTP 应用程序(主要是数据输入,具有许多 INSERT、UPDATE 和 DELETES 以及 SELECT),标准化通常是一件好事。
对于 OLAP 和报告应用程序,规范化没有帮助。 SELECT 查询将针对非规范化模式运行得更快,这可以通过视图来实现。
您还可以在这些非常流行的类似问题中找到一些有用的信息:
Should I normalize my DB or not?
In terms of databases, is “Normalize for correctness, denormalize for performance” a right mantra?
What is the resource impact from normalizing a database?
【讨论】:
是的,因为事务系统总是正常化的,否则您可能会在以后遇到重大问题。对于将用于报告/OLAP 非规范化模式的数据库可能非常有用。
【讨论】:
经验法则“JOIN 的处理能力很昂贵”。我在为大小项目创建数据库时使用。包含用户名、地址等数据的表格应始终进行规范化,因为它们最近很少被访问,您如何使用所教示例进行教学。现在近年来web2.0数据、应用程序、移动服务等实际上已经采取了一种不同类型的数据,随着内存代码的丰富性甚至更低,它可以节省处理能力将它们都放在同一个“表”上而不是规范化它。
【讨论】: