有了MongoDB,CouchDB和相关的技术,我们可以得到更快的查询,那么这仍然有效吗?
专门为查询和分析而重新构造的事务数据拷贝。(R. Kimball,数据仓库工具包,1996
我的意思是,我们真的需要将我们的数据重构为OLAP模式来查询它以进行分析吗?更具体地说,是否可以使用NoSQL实现向下钻取、切片和骰子以及其他用于分析目的的报告(不一定使用OLAP建模)?此外,我们是否可以克服联机分析处理的“数据子集”查询限制,并使用NoSQL报告整个数据宇宙?
发布于 2014-12-02 13:47:19
在我看来,由于几个原因,OLAP子集或结构不会消失,可能会变得更加常见。没有特定的顺序: f)在很多情况下,Map-reduce就是你所能得到的。Mongodb的聚合流水线速度更快,站稳了脚跟;u) NoSQL的一个大问题是缺少连接或关系。这意味着,为了支持许多联机分析处理报表,你的底层数据有一个丑陋的;b)为了保持一个干净的主表/集合,它值得构造“丢弃”或易失性数据子集;a) NoSQL非常适合冗余数据集:不需要创建表或甚至模式,其旋转和删除集合极其简单;r) NoSQL比SQL更容易扩展以适应额外的数据集;d)一个羽翼未丰的初创公司可以避免支持两种数据库技术(一种用于联机分析处理和一种用于联机事务处理)所需的成本和资源;而且,b)你会发现你的后端/前端代码更容易管理;c)预制数据集具有无与伦比的速度优势,预制数据集具有自己的预制索引。
发布于 2017-04-06 22:48:13
你的两个问题的答案都是肯定的。1.重构交易数据进行分析仍然有效。2.您可以使用NoSQL来完成您要求的所有操作。
由于您只提到了查询/分析/OLAP,我假设这里唯一要考虑的是创建一个查询/报告平台。因此,联机事务处理系统以及NoSQL能否处理它已不再是人们讨论的问题。
如果没有与之相关联的上下文,很难回答这个问题。无论您是为组织的团队、部门、纵向、业务线等创建此平台,还是为整个组织创建此平台作为中央存储库。
如果您是为团队/部门设置OLAP,则数据量不大,查询的用户数量较少,查询频率不是那么高,OLAP仍然有效。但是如果数据量很大,而且查询频率很高,用户数量很大,你会发现你需要在未来进行扩展,那么NoSQL将是你的选择。
另外,如果您在企业级为NoSQL创建了一个平台。比方说,您创建了一个企业数据仓库或数据湖,以满足组织中的所有受众的需求。但在组织内部,团队/部门可能会通过创建数据集市来创建自己的OLAP,以满足自己的需求。因此,在这种情况下,OLAP和NoSQL仍然有效。
我会说这完全取决于你的用例。要做出决定,需要考虑各种因素。对于任何正在考虑的技术,利弊总是存在的。对于这种比较,没有通用的答案。你需要回答这样的问题--你的数据源和它们的格式是什么;它们是结构化的,半结构化的,还是非结构化的?您的用户是谁,有多少用户;如果有多个部门有不同的需求,如果他们需要各自的仪表板,他们是否需要访问彼此的数据?您要处理的数据量是多少?查询报表平台的频率是多少?还有更多你可以问自己的问题。回答完这些问题后,再决定什么是最适合你的。
https://stackoverflow.com/questions/27234051
复制相似问题