最近有很多关于NoSQL的讨论.
我听到人们使用NoSQL的首要原因是因为他们开始非常规范化他们的DBMS数据,以提高性能,他们最终只得到一个表,其中包含该单个表中的所有数据.
但是,对于物化视图,您可以将数据标准化,但将其存储为单个表视图,原因与您使用NoSQL的原因相同.
因此,为什么有人会使用NoSQL而不是物化视图?
一个原因是物化视图在OLTP情况下表现不佳,其中存在大量INSERT与SELECT.
每次插入数据时,必须更新实体化视图索引,这不仅会减慢插入速度,还会选择.使用NoSQL的主要原因是性能.通过基本上是一个散列密钥存储,您可以获得极其快速的读/写,代价是对约束的控制较少,这通常必须在应用层完成.
因此,虽然物化视图可能有助于读取,但它们对加速写入没有任何作用.