当前位置:大数据数据库 → 正文

NoSQL+商务智能将是一种怎样的体验?

责任编辑:editor005 作者:曾少宁编译 |来源:企业网D1Net  2015-06-11 14:19:41 本文摘自:TechTarget中国

在过去几年里,有各种关于“NoSQL商务智能”的短评和出版物。然而,我一直没搞清楚它吸引人关注的到底是什么,我的疑问可以归结为“你想从中得到什么东西?”最近,我将这个话题抛向了一些主流NoSQL公司。得到结果让我感到更加困惑了。下面是我真正搞清楚的一些方面。

正如我不久前在一篇关于数据模型的文章中提到的,许多数据库都可以看作是一些对的集合——特别是SQL和NoSQL数据库。

1.在关系数据库中,一条记录就是一组对和一些特定且预定的名称序列(例如,来自表定义)。而且,一条记录通常有一个标识码(通常是前面的其中一个值)。

2.与之类似的可以称为结构化文档存储(如JSON或XML),它们的区别在于各个文档所包含的名称序列可能各不相同。而且,通常这些名称之间存在一种层次关系。

3.为此,像Cassandra或HBase这样的“宽列”NoSQL存储很大程度上可以视为一种结构化文档存储,尽管它们有不同的性能优化、特性及不同类型的DML(Data Manipulation Language)。

因此,NoSQL数据通常可以看作是一个表或一组表,但是:

1.NoSQL数据库很可能有更多的空值。

2.如果单纯转换为关系型结构,NoSQL数据库可能会出现重复值。因此完整转换时可能需要用到额外的数据表。

如果能够编写脚本提取NoSQL数据库,然后根据需要进行转换或汇总,那么也可以直接完成数据处理。但是,如果一定要使用一些交互界面来实现,则有一定的难度。顺便指出的是,前面这种情况只适用于BI和ETL(Extract/Transform/Load)。事实上,我曾经和多个人谈论过合并BI和 ETL的话题,而且他们可能有理由这样做。

另一些问题出现在性能方面。许多NoSQL系统都使用了索引,因此也有一些过滤功能。其中一些(如MongoDB)还有汇总框架。所以,如果有了数据,也有了BI工具、ETL工具或ODBC/JDBC驱动程序,那么你有没有利用这些现成的功能呢?或者说,你是否只是选择做一些最简单和最缓慢的事情,即提取数据,然后在其他位置处理这些数据?这些问题的答案现在还没有定论,至多还处于寻找过程中。

既然明确了NoSQL数据结构会给BI带来问题,那么我们来看看有什么解决方法。是否有一些方法能让它们真正发挥作用呢?我想说的是“NoSQL数据通常都采用层次结构,而层次非常适合向上汇总/向下分析。”但是,描述NoSQL数据的层次并不一定与BI汇总时所使用的层次相同,而且我很怀疑这两个分类并没有太多的重叠部分。

除了层次之外,我认为有一些用例适合完全非扁平化的BI。例如,考虑下面的场景,现在它通常都采用NoSQL来实现:

1.你的数据已经多到无法保存了(可能是机器生成的数据)。

2.所以你总是按时间片进行汇总。

3.你还会有选择性地保存细节信息,即那些出现时被认为有一定特殊用处的数据。

面向表格的传统BI工具很难正确实现这些数据的可视化。所以,最终可能需要借助于运行在NoSQL数据存储的面向NoSQL的BI工具。事件序列BI工具在操作得当的前提下也能很好地处理非扁平化数据。也就是说,我不确定现在最好的事件序列所使用的实际数据结构。

以上是我个人的一些见解,欢迎大家留言讨论。

关键字:商务智能JSONCassandra

本文摘自:TechTarget中国

x NoSQL+商务智能将是一种怎样的体验? 扫一扫
分享本文到朋友圈
当前位置:大数据数据库 → 正文

NoSQL+商务智能将是一种怎样的体验?

责任编辑:editor005 作者:曾少宁编译 |来源:企业网D1Net  2015-06-11 14:19:41 本文摘自:TechTarget中国

在过去几年里,有各种关于“NoSQL商务智能”的短评和出版物。然而,我一直没搞清楚它吸引人关注的到底是什么,我的疑问可以归结为“你想从中得到什么东西?”最近,我将这个话题抛向了一些主流NoSQL公司。得到结果让我感到更加困惑了。下面是我真正搞清楚的一些方面。

正如我不久前在一篇关于数据模型的文章中提到的,许多数据库都可以看作是一些对的集合——特别是SQL和NoSQL数据库。

1.在关系数据库中,一条记录就是一组对和一些特定且预定的名称序列(例如,来自表定义)。而且,一条记录通常有一个标识码(通常是前面的其中一个值)。

2.与之类似的可以称为结构化文档存储(如JSON或XML),它们的区别在于各个文档所包含的名称序列可能各不相同。而且,通常这些名称之间存在一种层次关系。

3.为此,像Cassandra或HBase这样的“宽列”NoSQL存储很大程度上可以视为一种结构化文档存储,尽管它们有不同的性能优化、特性及不同类型的DML(Data Manipulation Language)。

因此,NoSQL数据通常可以看作是一个表或一组表,但是:

1.NoSQL数据库很可能有更多的空值。

2.如果单纯转换为关系型结构,NoSQL数据库可能会出现重复值。因此完整转换时可能需要用到额外的数据表。

如果能够编写脚本提取NoSQL数据库,然后根据需要进行转换或汇总,那么也可以直接完成数据处理。但是,如果一定要使用一些交互界面来实现,则有一定的难度。顺便指出的是,前面这种情况只适用于BI和ETL(Extract/Transform/Load)。事实上,我曾经和多个人谈论过合并BI和 ETL的话题,而且他们可能有理由这样做。

另一些问题出现在性能方面。许多NoSQL系统都使用了索引,因此也有一些过滤功能。其中一些(如MongoDB)还有汇总框架。所以,如果有了数据,也有了BI工具、ETL工具或ODBC/JDBC驱动程序,那么你有没有利用这些现成的功能呢?或者说,你是否只是选择做一些最简单和最缓慢的事情,即提取数据,然后在其他位置处理这些数据?这些问题的答案现在还没有定论,至多还处于寻找过程中。

既然明确了NoSQL数据结构会给BI带来问题,那么我们来看看有什么解决方法。是否有一些方法能让它们真正发挥作用呢?我想说的是“NoSQL数据通常都采用层次结构,而层次非常适合向上汇总/向下分析。”但是,描述NoSQL数据的层次并不一定与BI汇总时所使用的层次相同,而且我很怀疑这两个分类并没有太多的重叠部分。

除了层次之外,我认为有一些用例适合完全非扁平化的BI。例如,考虑下面的场景,现在它通常都采用NoSQL来实现:

1.你的数据已经多到无法保存了(可能是机器生成的数据)。

2.所以你总是按时间片进行汇总。

3.你还会有选择性地保存细节信息,即那些出现时被认为有一定特殊用处的数据。

面向表格的传统BI工具很难正确实现这些数据的可视化。所以,最终可能需要借助于运行在NoSQL数据存储的面向NoSQL的BI工具。事件序列BI工具在操作得当的前提下也能很好地处理非扁平化数据。也就是说,我不确定现在最好的事件序列所使用的实际数据结构。

以上是我个人的一些见解,欢迎大家留言讨论。

关键字:商务智能JSONCassandra

本文摘自:TechTarget中国

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^