【问题标题】:Denormalization database非规范化数据库
【发布时间】:2010-04-09 15:04:23
【问题描述】:

我查看了Star Schema Benchmark,然后我在想是否可以对 SSB 中的所有表进行非规范化处理?

所以数据库大小会增加很多,但性能可能会提高。那正确吗?有可能吗?

感谢并为我糟糕的英语感到抱歉。

【问题讨论】:

  • 恕我直言,如果您不得不对大部分数据库进行非规范化以提高速度,您可能应该在 NoSQL 中寻找更好的解决方案。
  • @KendallHopkins - 真的吗?对于实现包含 1 亿行事实表的数据仓库,您会推荐什么 NoSQL 产品?
  • @APC 根据您对复杂查询的需要,Cassandra (cassandra.apache.org) 可能是一个不错的选择。它的扩展性令人难以置信,但它与传统的关系数据库有很大不同。还可以通过智能分片和分布式查询来解决扩展问题。
  • @KendallHopkins - 数据仓库的目的是获取大量数据并以多种不同方式将其连接起来,以便回答复杂的、经常是临时的查询。因此 - 恕我直言 - Cassandra 或任何其他依赖分发或分片的产品完全不适合这项任务。
  • @APC 如果您的数据可以以允许在每个分片上运行查询然后合并在一起的方式进行分片(即主条目不会相互交叉引用)。但是,如果您正在寻找一个非常抽象的数据仓库级别,您的权利,它们将是不合适的。

标签: database olap denormalization


【解决方案1】:

在大多数情况下,更少的关系(连接)意味着更高的性能。通常,非规范化在小部分中是好的,并且与规范化保持平衡。这是速度和良好设计之间的平衡。例如,数据仓库由非常扁平的非规范化表组成,因此它们可以提高性能。例如,平面数据库的概念在 Couch DB 中得到了进一步发展。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2013-01-18
    • 2016-07-23
    • 2016-11-18
    • 2010-09-17
    • 2018-02-07
    • 2012-11-18
    • 2011-11-12
    • 2011-09-24
    • 2017-01-14
    相关资源
    最近更新 更多