如何理解s3或cassandra中的olap多维数据集?

368yc8dk  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(522)

在这个存储库中,作者提到我们可以 OLAP 方块 Cassandra 或者 S3 :
一旦数据进入redshift,我们的主要目标是让bi应用程序能够连接到redshift集群并进行一些分析。bi应用程序可以直接连接到redshift集群,也可以通过中间阶段,在中间阶段,数据以olap多维数据集表示的聚合形式存在。
怎么可能?那怎么办?我遗漏了什么基本概念吗?据我所知 OLAP 多维数据集是一种特殊的数据结构,存在于 OLAP 数据库。他指的是特定的预先计算好的 dimensions 以及 facts 储存在 OLTP -面向对象的数据库,比如 Cassandra ?

u0sqgete

u0sqgete1#

olap的主要功能包括:
旋转
切片
切割
钻孔
以及 Redshift 我能做到。
它的架构旨在解决 OLAP 以及 BI 任务。请参阅亚马逊红移开发人员指南
amazonredshift是专门为在线分析处理(olap)和商业智能(bi)应用程序设计的,这些应用程序需要对大型数据集进行复杂的查询。因为它满足了非常不同的需求,所以amazonredshift使用的专用数据存储模式和查询执行引擎与postgresql实现完全不同。例如,在线事务处理(oltp)应用程序通常以行的形式存储数据,amazonredshift以列的形式存储数据,使用专门的数据压缩编码来优化内存使用和磁盘i/o。为了提高性能,省略了一些适合小规模oltp处理的postgresql特性,例如二级索引和高效的单行数据操作。
但是条款之间的界限是非常平滑的。
正如diana shealy所说:

停止滥用oltp作为olap

市场上oltp和olap之间存在很多混淆,由于商业olap的高价格,初创公司和预算有限的开发人员继续滥用oltp数据库作为olap数据库。虐待分为两类:
一个通常是多分片的mysql数据库,使用应用层脚本来执行历史事件数据分析。尽管这种设置非常常见,但它是进行分析的效率最低的方法之一。mysql没有针对读取大范围数据进行任何优化,对分析函数的支持也很弱。因为有多种选择,避免这种“便宜”的解决方案,因为你最终会在其他地方付出代价。
使用postgresql作为olap层。这是一个比上面更合法的选择,因为postgres的坚实的分析用户定义函数(udf)启动一个分析平台。此外,由于它的c-store扩展,postgresql可以变成一个列式数据库,使它成为商业olap的一个经济实惠的替代品。
最后,如果您正在考虑从OLTP(被滥用为OLAP)转移到“真正的”OLAP(如redshift),我建议您学习如何使用redshift的copy命令,以便可以开始在redshift中查看数据。

至于你的问题:

怎么可能?

可能是因为 Redshift 体系结构(列数据库)和分析功能,例如:
窗口函数
数据仓库体系结构
演出
柱状存储器
内部架构和系统操作
工作量管理
聚合函数

那怎么办?

有关amazonredshift数据仓库系统体系结构的详细说明,请参见系统和体系结构概述。
(本文前面已经提到了一些链接)

基本概念?

我遗漏了什么基本概念吗?
我建议更多地依赖于具体解决方案的技术细节,而不是营销术语。最后,实际任务不是通过软件命名或营销来解决的,而是通过它的真正功能来解决的。
db景观中真正重要的是考虑两个定理:

帽定理


根据 Iron triangle 在cap定理中,您可以从三个db架构组件中选择两点:一致性可用性*持久性

饼状定理

亚马逊的rick houlihan就db archotecture的选择发表了演讲。除了cap定理,他还提出了pie定理:

饼图定理假定,您可以从数据系统中的三个理想特性中选择两个:
图案灵活性
效率
无限规模
以及 Redshift 正在打开 PI 结构尺寸 PIE triangle ###数据结构
据我所知,olap多维数据集是存在于olap数据库中的一种特殊数据结构。他可能是指存储在面向oltp的数据库中的维度和事实的特定预先计算的组合,比如cassandra?
两者 OLAP 聚合数据结构和 Redshift 分发样式的目标只有一个:使查询更快。列数据库、分布、并行查询和其他特性适合于分析任务。

升级版

在你的评论中 Cassandra 可以作为 OLAP 服务。 Cassandra 以及 S3 可用于存储预先计算的维度聚合数据。

相关问题