关系数据库和多维数据库之间的本质区别是什么?
我只是不明白。我在网上发现的论点并没有让我明白,事实上它们根本没有任何意义。下面是一些示例:
大多数文本试图解释多维数据库如何优于关系数据库(在性能、易用性和维护等方面),但它们没有解释它们之间的形式区别。澄清:
关系数据库实现关系模型;如果多维数据库确实不同于关系数据库,那么它们必须实现不同的(非关系)模型,因为否则它们仍然是关系型的,对吗?所以我的问题是:
多维数据库真的有不同的模型吗?如果是的话,它是否正式定义,我在哪里可以找到关于它的文本?如果不是这样的话,有什么区别呢?
请指点我。
发布于 2014-01-14 16:17:22
您正在询问OnLine事务处理数据库(也称为OLTP,例如Server、My )和联机分析处理数据库(也称为OLAP,例如Essbase、)之间的差异。
它们有着截然不同的目的。对于通常应用程序(网站、桌面订单处理等)的数据存储,您必须使用OLTP db,因为它是为事务优化的:基本上是CRUD操作和一些报告。相比之下,OLAP db在CRUD上是很糟糕的(我知道的任何OLAP db实际上都不能执行CRUD ),但是在报告方面非常出色。两个人一起工作。
通常,OLTP数据库是工作马。在某个时间间隔(每天、每周、更频繁、更少),您可以提取整个OLTP db或仅提取OLAP中的新位,以便进行报告。
两者的内部结构是完全不同的。OLTP应该有标准化的表,并且它的代码(实际的服务器代码,而不是我们的)被优化为读写混合。OLAP数据库非常非规范化(因此在某些方面更简单),并对其进行了优化。这样做的好处是,用于报告的OLTP db每天运行许多查询,每个查询超过45分钟。当我们将每日摘要添加到OLAP db中时,这些报告的运行时间不到5秒。
但是,请记住,您不能将OLAP数据库用于简单的CRUD操作,而OLAP db将有额外的许可成本、管理问题和更新时间问题:用户将非常快地获得他们的数据,但它将在一段时间内过时,并会使他们付出额外的代价。而且,它们可能很难维护。
https://stackoverflow.com/questions/21114648
复制相似问题