为什么在物化视图上使用NoSQL?

Jus*_*inT 11 database rdbms views materialized-views nosql

最近有很多关于NoSQL的讨论.

我听到人们使用NoSQL的首要原因是因为他们开始非常规范化他们的DBMS数据,以提高性能,他们最终只得到一个表,其中包含该单个表中的所有数据.

但是,对于物化视图,您可以将数据标准化,但将其存储为单个表视图,原因与您使用NoSQL的原因相同.

因此,为什么有人会使用NoSQL而不是物化视图?

Red*_*ter 6

一个原因是物化视图在OLTP情况下表现不佳,其中存在大量INSERT与SELECT.

每次插入数据时,必须更新实体化视图索引,这不仅会减慢插入速度,还会选择.使用NoSQL的主要原因是性能.通过基本上是一个散列密钥存储,您可以获得极其快速的读/写,代价是对约束的控制较少,这通常必须在应用层完成.

因此,虽然物化视图可能有助于读取,但它们对加速写入没有任何作用.

  • @JustinT:当然他们的营销会这么说.现实情况是,在某些情况下(读取沉重的情况),它们很棒.在写得很重的情况下,它们并不是很好,这是我在上面指定OLTP时所做的. (2认同)
  • @Justin - 对我来说OLTP意味着重写.我会更新帖子以明确. (2认同)