暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

博客 | Cloudera 实时数据仓库概述

Cloudera中国 2020-11-13
658
点击“Cloudera中国” 即可订阅!

本文转载自大数据杂货铺


如今,用户对他们的数据仓库的要求越来越高。这导致了数仓技术所提供的技术的进步,并导致一些可能的技术变化。例如,在这篇文章中,我们看实时数据仓库(RTDW),这是客户在 Cloudera 上构建的一类用例,并且这类用例在我们的客户中变得越来越普遍。

让我们看看一个正在推出5G的大型亚洲电信提供商。他们使用Cloudera构建了实时数仓,以确保良好的客户体验并控制维护成本。通过实时查看其网络的各个方面,可以实时识别潜在的故障硬件,从而避免对客户呼叫/数据服务造成影响。当解决方案更便宜时,这也使得他们有机会及早修复该问题。

  • 每天摄取100 TB的网络事件数据 

  • 数据更新和删除以确保数据正确性

  • 每天200,000个查询

  • 混合的 Ad Hoc 探索、仪表板、和警报监控


越来越多的客户要求的功能是:

  • 分析实时数据、近实时数据和历史数据

  • 跨数据域的相关性,即使这些数据域不是传统上存储在一起的(例如:实时客户事件数据与CRM数据一起;网络传感器数据与市场营销活动管理数据一起)

  • “大数据”的极端规模,但具有“小数据”的感觉和语义

  • 将以上所有内容集成到一个安全的集成平台中


推动这一趋势的因素包括技术、业务和文化。

  • 在技术方面,比以往任何时候都更便宜,更轻松地检测所有内容并通过消息传递系统实时发送数据。

  • 在业务方面,公司和政府正在将其尽可能多的业务数字化和自动化,以使决策和资产管理更加有效。

  • 在文化方面,人们希望能够立即获得所需的答案,而不必去问别人(感谢 Google 和Wikipedia )。


另一个例子更突出了这一趋势。美国的一家公司 AdTech 为数字广告客户提供处理、付款和分析服务。数据处理和分析推动了他们的整个业务。因此,他们需要一个能够与现代大数据系统规模保持同步,但提供传统关系数据库语义和查询性能的数据仓库。他们选择在 Cloudera 上构建 RTDW。

  • 每天流入并存储数十亿次广告展示事件

  • 每天在汇总表中十亿条记录更新

  • Ad Hoc 探索和预定报告

  • 每个查询的目标 SLA 为1秒 

  • 平均查询并发系数为10


什么是实时数据仓库?

描述 RTDW 的最简单方法是,其外观在感觉上就像是普通的数据仓库,但是所有的一切都会变的更快,即使保持更大规模的数据上。这是数据仓库现代化的一种类型,可让您具有“小数据”语义和“大数据”规模的性能。

  • 数据以更快的速度到达仓库–认为每秒数百万个事件的流媒体数据不断到达

  • 数据可最佳查询所需的时间更快-到达后立即进行查询,无需进行处理、聚合或压缩

  • 查询运行的速度更快–小型选择性查询以10或100毫秒为单位进行衡量;大型、扫描或计算繁重的查询以很高的带宽处理

  • 必要时,数据变化的很快-如果由于某种原因需要校正或更新数据,则无需大量重写即可就地完成

尽管这听起来似乎很明显,甚至有些琐碎,但数十年来的数据仓库却显示出了其他情况。对于大量快速到达的数据,要保持交互性能非常困难,其中一些数据可能需要更新,并且需要使用大量不同模式的查询。Cloudera 提供了 RTDW 功能,可以在所有这些框中打勾。因此,许多客户正在构建RTDW应用程序,这是他们使用 Cloudera 现代化数据仓库实践的总体策略的一部分。

下表提供了组成 RTDW 的用例特征的更多详细信息。

摄取

中等到更高的吞吐量,通常是流式接入

针对仅插入以及插入+更新的模式进行了优化

查询

针对单点查找、分析、变异等进行了优化,具有低延迟和高并发性

流式传输的数据可以以最佳方式立即查询

可以将流入的数据与历史数据一起进行查询,从而避免了使用Lambda 架构

数据模型

常规的企业数据类型

小型或者中型的数据模型;主要是维度模型和非范式化模型,偶尔会有范式模型

下面的图1显示了实时数据仓库的标准体系结构。它具有快速获取、快速存储和BI即时查询的关键元素。

图1.实时数据仓库的基本架构


正如看到的图2中,这是很容易延伸以覆盖可能需要的附加功能。这些包括流处理/分析、批处理、分层存储(即用于主动归档或将实时数据与历史数据结合在一起)或机器学习。

图2.具有扩展功能的实时数据仓库的体系结构


典型的RTDW应用


除了了解 RTDW 的属性外,查看可在RTDW类别内构建的应用程序类型也很有用。

通用的 RTDW

这些是端到端的大量应用程序,用于通用数据处理、商业智能、运营报告、仪表板和 Ad Hoc探索。但是重要的警告是,摄取速度、开发人员的语义丰富性、数据新鲜度和查询延迟至关重要。可以将它们划分为一个目的(即数据集市),也可以将其作为企业数据仓库进行更全面的划分。


除了上述“实时数据仓库”中描述的特征以外,,通用 RTDW 具有以下属性:

  • 需要完整的 ANSI SQL 支持

  • 通常需要进行更新,有时需要较高的工作负载百分比

    • 例如,事务数据的更正,变更检测捕获(CDC),缓慢变化维(SCD)2类逻辑,迟到事件数据的重新排序

    • 在流中完成处理逻辑并随后在数据存储中应用更新的通用

  • 优化访问全保真原始数据和聚合

  • 优化访问当前数据和历史数据


时间序列和事件分析专用 RTDW

有时您知道数据事件和分析总是有时间要素,并且事先知道用户将要运行的查询类型。您可以利用这些知识来构建专门用于时间序列和事件分析的RTDW。这样可以极大地提高速度、查询延迟和可伸缩性。折衷是失去了支持的查询模式的通用性,这是可以的,因为首先选择这种专门方法的原因是,它对于您的特定用例是理想的,并且您不需要任何更通用的方法。


除了上述“实时数据仓库”中描述的 RTDW 特性之外,时间序列和事件分析 RTDW 具有以下描述:

  • 当数据中始终有时间元素时使用

  • 在预先知道查询模式时,不需要联接,相对静态且不需要临时探索时使用

  • 当出于性能或规模原因而需要数据预聚合时使用

  • 相对简单的数字和文本数据的混合,没有复杂的类型或长字符串

  • 不需要更新数据


添加流分析和流处理

在某些情况下,当数据流流入仓库时,您需要对其进行处理。这可以用于流处理(例如,数据清理,特征工程,CDC 协调)或流分析(例如,当阈值超过数据统计滚动窗口时发出警报,根据预测模型对事件数据评分,以决定要采取何种行动接下来。对流中的数据进行操作使您能够在“机器时间”内做出更好的决策,这补充了一旦数据到达仓库后就可以在“人工时”做出更好的决策的能力。


使用Cloudera构建RTDW

Cloudera 提供了平台 Cloudera 数据平台(CDP),用于在公共云和私有云中构建端到端数据应用程序。CDP 包含丰富的服务,可用于移动、存储、处理和查询数据。其中一些在Cloudera Data Warehouse(CDW)服务中提供,而其他一些在 Cloudera DataHub 服务中的不同模板化群集类型中提供。下表总结了用于在 CDP 中创建 RTDW 应用程序的构造块。


使用…

包含...

用于…

CDW

Hive

EDW 的灵活、可扩展的查询引擎

在单个查询中将 Druid 数据与其他仓库数据合并

Druid

Analytics 存储和查询引擎,用于预先聚合的事件数据

快速摄取流数据,交互式查询,超大规模

Hue

用于运行 Hive 和 Impala 查询的 SQL 编辑器

DataViz

(技术预览)

用于可视化,仪表板和报告构建的工具

连接到 Druid、Impala、Hive 和其他企业数据源

DataHub–

实时数据集市模板

Kudu

分析存储引擎,用于处理大量快速到达的数据

可变性,随机访问,快速扫描,交互式查询

Impala

交互式查询引擎,可对大量数据进行快速BI

在单个查询中将 Kudu 数据与其他仓库数据合并

Spark Streaming

微批量流处理引擎

丰富,过滤,转换运动数据

Solr

用于运行 Impala + Kudu 查询的 SQL 编辑器

DataHub–

流消息传递模板

Kafka

高吞吐量和大规模分布式事件流

消息的持久性,以确保传递

DataHub– 

流管理模板

Nifi

数据集成,分发和路由引擎

胶水将多个数据引擎组合成端到端流

DataHub– 

流分析模板

Flink

引擎通过数据流提供状态分析计算

对运动中的数据进行警报,评分,决策

 下面的两个图显示了这些组件如何结合RTDW应用程序的不同口味工作,如上所述。

图3. Cloudera CDP中的通用实时数据仓库

图4. Cloudera CDP中的时间序列和事件分析专用实时数据仓库



下一步是什么?

请关注本系列的下一篇文章,我们将在其中更深入地讨论 RTDW 的这两种形式。这些将提供有关技术如何协同工作以及如何构建自己的 RTDW 应用程序的更多详细信息。



  • 深入研究时间序列和事件分析专门的 RTDW ,具有 Apache Druid、Apache Hive、Apache Kafka 和 Cloudera DataViz。

  • 深入研究通用 RTDW ,其中包括 Apache Kudu、Apache Impala 和 Apache NiFi。


同时,如果您想了解更多信息,请观看此视频,其中显示了如何使用 Apache Kafka,Apache Druid,Apache Hive 和 Cloudera DataViz 在 CDP 中构建端到端事件分析应用程序。此外,我们还有一个网络研讨会和博客,介绍如何使用 Apache Kudu 和 Apache Impala 在 CDP 中创建时间序列应用程序。最后,如果您想了解更多关于使用 CDP 来做分析,处理和数据的路由内流,请观看这段视频,其中突出显示了 Apache NiFi 和 Apache Kafka。


作者:Justin Hayes

原文链接:https://blog.cloudera.com/an-overview-of-real-time-data-warehousing-on-cloudera/


Cloudera中国

更多资讯,点击阅读原文

长按扫码关注我们


文章转载自Cloudera中国,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论