哪种 NoSQL 技术可以替代 MOLAP 多维数据集进行即时查询?

Posted

技术标签:

【中文标题】哪种 NoSQL 技术可以替代 MOLAP 多维数据集进行即时查询?【英文标题】:Which NoSQL technology can replace MOLAP cubes for instantaneous queries? 【发布时间】:2015-01-27 07:43:36 【问题描述】:

我想知道您能否告诉我我应该为我的场景使用哪些 NoSQL 数据库或技术/工具。我们正在考虑用开源技术替换基于 SQL 服务器分析服务的 OLAP 多维数据集,因为数据变得太大而无法管理,查询需要很长时间才能返回。我们遵循书中的每一条规则来分片数据,通过使用聚合和分区等优化多维数据集的设计,但我们的一些不同计数查询仍然需要 1-2 分钟 :( 我们的事实表的数据大小大约是250GB。并且有 10-12 个维度以星型模式连接。

因此,我们决定尝试使用 Hadoop/HBase/NoSQL dbs 等开源技术,看看它们是否能够以最少的设置和引导来解决我们的 OLAP 场景。

我们对新技术的主要要求是

    对于不同的计数查询,它必须获得极快或即时的结果(

    支持度量和维度的概念(如在 OLAP 中)。

    支持类似 SQL 的查询语言,因为我们的许多开发人员都是 SQL 专家。 能够连接 Excel/Tableau 以可视化数据。

由于当今开源世界中有如此多的新技术和工具,我希望您能帮助我指出正确的方向。

【问题讨论】:

我远非no-sql 技术专家,但据我所知,no-sql 数据库的重点不是分析数据,而是轻松存储和检索数据。分析这些数据需要 Apache SPARK 等数据处理引擎。大数据处理实际上更像是连续的长时间批处理(从几分钟到几小时),而不是快速查询的实时分析。关于不同计数查询的纯性能,并假设 250 GB 内存是一个选项,MongoDB 可以用作纯内存数据库。 @GaelFG 还有一些专注于数据分析的 NoSQL 技术,如 Hadoop+HBase 或 Neo4j。这就是 NoSQL 一词的问题所在:它是如此广泛,以至于任何概括都过于简单化了。一般而言,您可以对 NoSQL 做出的唯一陈述是“不使用 SQL 存储数据的技术”。 mongodb 是否支持 SQL 查询?是否有像 tableau 这样的可视化工具可以连接到 mongodb 实例或开箱即用的集群,而无需像驱动程序那样编写大量代码?如果我们没有 250GB 的机器怎么办?它是否支持允许跨多个维度切片和数据的维度和度量的概念? 【参考方案1】:

注意:我来自 Apache Kylin 团队。

请参考以下答案,可能会给您带来一些想法:

我们对新技术的主要要求是 对于不同的计数查询(

,它必须获得极快或即时的结果

--Luke: 90%tile 查询延迟小于 5s 是我们目前的统计数据。对于

支持度量和维度的概念(如在 OLAP 中)。

--Luke:Kylin 是纯 OLAP 引擎,具有维度(也支持层次结构)和度量(Sum/Count/Min/Max/Avg/DistinctCount)定义

支持类似 SQL 的查询语言,因为我们的许多开发人员都是 SQL 专家。 --Luke:Kylin 支持 ANSI SQL 接口(大多数 SELECT 函数)

能够连接 Excel/Tableau 以可视化数据。

--Luke:Kylin 的 ODBC 驱动程序可以很好地与 Tableau 配合使用,Excel/PowerBI 即将推出。

如果您还有其他问题,请告诉我们。

谢谢。

【讨论】:

感谢 cmets 卢克。我还有几个关于麒麟的问题。 如有任何问题,请随时与我联系。谢谢。 我的目标几乎相同。不过,我一直在使用 PPS 和 Power Bi 报告。 PPS 与附加操作和 olap 措施 (mdx) 密切相关。是否可以在 kylin 上编写额外的动作和计算? 另外,我想向我的客户提出这个建议。他们的企业解决方案是否涉及任何许可费用?【参考方案2】:

看起来“麒麟”http://www.kylin.io/ 是我的答案。这有我想要的所有要求,甚至更多。我现在就试一试! :)

【讨论】:

以上是关于哪种 NoSQL 技术可以替代 MOLAP 多维数据集进行即时查询?的主要内容,如果未能解决你的问题,请参考以下文章

大数据:以下数据适合哪种 NoSQL

使用哪种技术 (SQL/NoSQL) 进行实时数据聚合

我应该选择哪种 NoSql 解决方案?

多维数据处理替代方案

Apache Druid历险记

Apache Druid历险记