Database design 如何计算数据库设计存储成本?
在开始这个项目时,我经常会想到几个不同的模式。在粗略猜测之后,我意识到有些产品在增长或存储空间方面不如其他产品优化。显然,列值的大小是最主要的。但表元数据、索引和行标题也都发挥了作用 此外,RDBMS使用与对象或键值数据库完全不同的数据存储方法 有什么好的资源可以用来计算数据库存储的成本(或所需空间)?Database design 如何计算数据库设计存储成本?,database-design,nosql,rdbms,capacity-planning,Database Design,Nosql,Rdbms,Capacity Planning,在开始这个项目时,我经常会想到几个不同的模式。在粗略猜测之后,我意识到有些产品在增长或存储空间方面不如其他产品优化。显然,列值的大小是最主要的。但表元数据、索引和行标题也都发挥了作用 此外,RDBMS使用与对象或键值数据库完全不同的数据存储方法 有什么好的资源可以用来计算数据库存储的成本(或所需空间)? 注意,我的问题与选择数据库无关,而是知道如何最有效地正确利用每个数据库的设计。PostgreSQL、MySQL、CouchDB等数据库都有不同的目标用例和多种方法来解决同一问题。因此,了解每个解
注意,我的问题与选择数据库无关,而是知道如何最有效地正确利用每个数据库的设计。PostgreSQL、MySQL、CouchDB等数据库都有不同的目标用例和多种方法来解决同一问题。因此,了解每个解决方案的存储成本将有助于为模式选择最佳解决方案。我发现一篇AskTom文章很有帮助。不过,这是甲骨文特有的 RDBMS使用与对象或键值数据库完全不同的数据存储方法 关系模型假设您不知道将来需要什么数据,也不知道将来如何访问数据。根据我的经验,这是一个相当可靠的假设 这就是SQL dbms允许您根据需要添加索引,并允许您删除被证明无效的索引的原因之一。它将允许您添加已知的约束(有时需要添加更多表的约束),并在需求更改时删除约束。当你发现更多值得了解的事情时,它会让你添加专栏。它将允许您用视图替换表,并用表替换视图。有些dbms可以让您创建物化视图——它们对查询速度的影响是巨大的,对磁盘使用的影响是毁灭性的 有用的数据库扩展了它们的范围。根据关系模型设计的SQL数据库可以相对轻松地添加在初始设计期间没有人想到的功能,并且不会破坏系统的其他部分。因此,他们经常被要求去做他们最初的设计师想象不到的事情 所有这些
- 随着时间的推移添加和删除索引
- 随时间添加和删除约束
- 随着时间的推移添加和删除列
- 随着时间的推移添加和删除表
小弗雷德·布鲁克斯,在《神秘的人月》第116页 在设计模式时,为什么要计算它。。这听起来不太合理,因为模式本身根本无法决定数据库的大小。还考虑到存储空间成本将是总体成本中最不重要的因素,例如选择所需的数据库。@ManfredMoser,数据库模式是应用程序数据设计的核心。它的构建方式显示了您对数据存储的计划。是的。。但许多其他因素将显著影响存储,因此,仅从模式进行任何评估都不会带来性能(缓存、索引等)或查询(数据仓库等)等进一步要求