持续定义Saas模式云数据仓库+实时搜索

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文由阿里云计算平台事业部 MaxCompute 产品经理孟硕为大家带来《持续定义Saas模式云数据仓库+实时搜索》的相关分享。以下是视频内容精华整理,主要包括以下三个部分:1.Why:概述与价值;2.What:应用场景;3.How:最佳实践。

一、Why:概述与价值
(一)MaxCompute
我们把MaxCompute定义为SaaS模式的企业级云数据仓库。在之前,我们可能会认为MaxCompute是一个离线数据处理引擎,也就是一个传统的数仓,但是MaxCompute所能做的事情要比传统数仓多的多。因此,我们更倾向于把MaxCompute看成一个数据处理的平台,在它上面我们可以做离线数据的处理,包括数据库的应用,传统数据仓库的应用,以及近实时的数据采集和近实时的数据查询,现在将其与MC-Holegres组件结合,我们还能做到实时数仓的应用场景。
MaxCompute是阿里云的一个托管服务,它依托于阿里云强大的基础设施,为用户提供优质、便捷的服务,其架构如下图所示。
image.png

MaxCompute有着广泛的应用场景,传统数仓所能做的,MaxCompute都能做,主要包括:
1.广告场景:用户标签计算、分析等;
2.业务运营场景:交互式业务指标计算、查询等;
3.各行业搭建数据仓库,比如流批一体、湖仓一体等;
4.云上弹性扩展大数据计算和存储。
得益于可靠的架构和强大的技术实力,MaxCompute有着非常优秀的产品技术特性,主要包括:
(1)全托管的Serverless的在线服务
1.对外以API方式访问的在线服务,开箱即用;
2.预铺设的大规模集群资源,近乎无限资源,按需使用和付费;
3.无需平台运维,最小化运维投入。
(2)弹性能力与扩展性
1.存储和计算独立扩展,支持TB到EB级别数据规模的扩展能力,可以让企业将全部数据资产保存在一个平台上进行联动分析,消除数据孤岛;
2.Serverless资源按需分配,实时根据业务峰谷变化带来的需求变化分配资源,自动扩展;
3.单作业可根据需要秒级获得成千上万Core。
(3)数据湖探索分析
1.默认集成对数据湖(如OSS服务)的访问分析,处理非结构化或开放格式数据;
2.支持外表映射、Spark直接访问方式开展数据湖分析;
3.对用户友好:在同一套数据仓库服务和用户接口下,实现数据湖分析和数据仓库的关联分析。
(4)集成AI能力
1.与阿里云机器学习平台PAI无缝集成,提供强大的机器学习处理能力;
2.可使用用户熟悉的Spark-ML开展智能分析;
3.提供SQLML可以直接使用标准SQL训练机器学习模型,并对数据进行预测分析;
4.Mars:使用Python机器学习第三方库。
(5)支持流式采集和近实时分析
1.支持流式数据的实时写入(Tunnel),并在数据仓库中开展分析;
2.与云上主要流式服务深度集成,轻松接入各种来源流式3.高性能秒级弹性并发查询,满足近实时分析场景。
(6)深度集成Spark引擎
1.内建Apache Spark引擎,提供完整的Spark功能;
2.与MaxCompute计算资源、数据和权限体系深度集成。
(7)统一而丰富的运算能力
1.离线计算(MR,DAG,SQL,ML,Graph);
2.实时计算(流式,内存计算,选代计算);
3.涵盖通用关系型大数据,机器学习,非结构化数据处理,图计算。
(8)提供统一的企业数据视图
1.提供租户级别的统一元数据,让企业能够轻松获得完整的企业数据目录;
2.对于更广泛的数据源,通过外表建立数据仓库与外部数据源的连接,Connect not Collect。
(9)企业级服务
1.SLA保证:99.9%服务可用性保障;
2.自助运维与自动化运维;
3.完善的故障容错(软件,硬件,网络,人为)机制。

一般来讲我们的大数据项目是需要很多个组件才能完成的,包括离线组件和实时组件。下图一个常用的场景,它是集实时、离线、分析、服务于一体的一套方案,适用于数据化运营,如智能推荐、日志采集分析、用户画像、数据治理、业务大屏、搜索等场景。这套方案是阿里巴巴最佳实践的大数据平台,具有技术领先性,降本提效,高附加值业务收益等优势。当然,整个方案涉及到的产品也非常多,包括日志服务SLS、数据传输DTS、DataHub、实时计算Flink等等,具体如下图所示。
image.png

下图是MaxCompute和Hologres两个组件融合之后的实时分析简单架构,即云原生HASP系统,通过该架构我们可以实现实时写入和实时查询。与其他的OLAP应用不同的是这种架构下Hologres和MaxCompute是一体的,可以共享存储,也就是说Hologres可以直接读取MaxCompute的数据,大大降低了存储成本。通过这两个组件,我们还可以解决离线加速、联邦分析、交互式分析等问题。
image.png

(二)Elasticsearch
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。Elasticsearch解决了Lucene使用时的繁复性,功能强大,使用简单,能够提供实时搜索服务。Elasticsearch应用场景广泛,比如打车的场景中(例如滴滴打车),使用查询附近的车辆等功能时候,后台就是Elasticsearch在为搜索做支撑,又比如在Github中,Elasticsearch可以帮助我们利用关键字等在站内进行检索。当然,不只是网站应用,包括手机APP,只要用到站内搜索服务,都能够用到Elasticsearch或者其他的搜索服务应用。
我们为什么需要搜索引擎呢?实时搜索为什么现在这么火呢?之前我们在做数据分析的时候,可以通过写程序的方式,但是写程序对于一些数据分析师来说是一个高门槛的任务,需要一定的学习成本,包括使用SQL也有一定的学习成本。但是有了搜索引擎之后,我们只需要按照一定的条件进行筛选就可以得到我们想要的信息,大大降低了学习成本。
当前,主流的搜索引擎有两个:Solr和Elasticsearch,两者都基于Lucene发展而来。Lucene是当今最先进,最高效的全功能开源搜索引擎框架,但是Lucene只是一个框架,且比较复杂,要充分利用它的功能,需要在其基础上进行扩展开发,因此有了Solr和Elasticsearch。
image.png

下图是Google Trend中两个搜索应用的趋势分析,可以看出在实时搜索领域,近几年Elasticsearch的热度已经超过了Solr,因为在实时搜索领域Elasticsearch的效果要好于Solr,但是不得不提的是Solr在现有数据的基础上进行查询搜索的速度会更快一些。
image.png

目前,Elastic 已经宣布与阿里云建立长期合作和战略伙伴关系。未来阿里云Elasticsearch将会兼容开源 Elasticsearch 的功能,以及Security、Machine Learning、Graph、APM 等商业功能,致力于数据分析、数据搜索等场景服务,与Elastic合作,共同为客户提供企业级权限管控、安全监控告警、自动报表生成等场景服务。

(三)为什么需要MaxCompute+实时搜索
image.png

二、What:应用场景
当前,实时搜索的主要应用场景有三个:
1.日志和指标分析(Log/Indicator Analysis);
2.安全(Security);
3.站内检索(WebHosting)。
其场景的应用逻辑如下面三张图所示。
image.png

image.png

image.png

三、How:最佳实践
最佳实践主要包括数据集成和数据监控两部分,其中数据集成指的是MaxCompute和Elasticsearch两个组件之间怎么做数据交互。
(一)数据集成
下图是一个在线教育的案例,该案例大的背景是要监控企业内部包括用户的C端产生的日志,还有内部的服务端产生的日志,它由MaxCompute做数据的预分析,然后交由Elasticsearch做数据监控,其痛点主要有如下三点:。
1.监控数据实时性要求高;
2.流量波动大,自建集群投入成本高;
3.数据权限粒度要求高。
image.png

对于以上痛点,一般通用的解决方案如上图所示,包括数据采集和集中、数据ETL、数据分析和展现三部分,最后会得到如下图所示的DashBoard。
image.png

MaxCompute和Elasticsearch之间的数据交互是非常重要的一部分,将MaxCompute的数据导入Elasticsearch主要分为如下五步:
1.准备工作
创建DataWorks工作空间并开通MaxCompute服务,准备MaxCompute数据源、创建阿里云Elasticsearch实例。
2.步骤一:购买并创建独享资源组
购买并创建一个数据集成独享资源组,并为该资源组绑定专有网络和工作空间,独享资源组可以保障数据快速、稳定地传输。
3.步骤二:添加数据源
将MaxCompute和Elasticsearch数据源接入DataWorks的数据集成服务中。
4.步骤三:配置并运行数据同步任务
配置一个数据同步的脚本,将数据集成系统同步成功的数据存储到Elasticsearch中,然后将独享资源组作为一个可以执行任务的资源,注册到DataWorks的数据集成服务中,这个资源组将获取数据源的数据,并执行将数据写入Elasticsearch中的任务(该任务将有数据集成系统统一下发)。
5.步骤四:验证数据同步结果
在Kibana控制台中,查看同步成功的数据,并按条件查询数据。
(二)数据监控
经过上面的步骤,数据已经导入了Elasticsearch,我们做数据监控主要有如下两步:
1.使用Kibana的discover,view,dashboard和其他对象来查看这些数据。
image.png

2.通过导入预先准备好的Kibana对象,可以统一显示直播数据。
image.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6月前
|
存储 自然语言处理 Cloud Native
云数据仓库ADB问题之全文索引检索字段过长时条件会失效如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
136 4
|
6月前
|
SQL 运维 Cloud Native
云数据仓库ADB问题之数据导出失败如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
145 2
|
6月前
|
分布式计算 运维 数据挖掘
MaxCompute是一个强大的云数据仓库服务
【4月更文挑战第1天】MaxCompute是一个强大的云数据仓库服务
100 1
|
3月前
|
SQL 数据挖掘 数据处理
“惊!云数据仓库ADB竟能这样玩?UPDATE语句单表、多表关联更新,一键解锁数据处理新境界!”
【8月更文挑战第7天】云数据仓库ADB提供高性能数据分析服务,支持丰富的SQL功能,包括关键的UPDATE语句。UPDATE可用于单表更新,如简单地增加员工薪资;亦支持多表关联更新,实现复杂数据关系处理。例如,结合departments表更新sales部门员工薪资。使用时需确保关联条件准确,考虑事务管理保证数据一致性,并优化性能以提升大规模更新效率。合理运用UPDATE增强数据仓库实用性和灵活性。
71 0
|
6月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之在云数据仓库ADB中,GROUP BY操作中出现NULL值,如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6月前
|
关系型数据库 专有云 MySQL
云数据仓库ADB问题之查询特慢如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
111 6
|
6月前
|
SQL 监控 Cloud Native
云数据仓库ADB问题之创建物化视图时报错SQL错误如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
|
6月前
|
Cloud Native 数据管理 OLAP
云数据仓库ADB问题之首次查询很慢如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
108 5
|
6月前
|
存储 SQL 监控
云数据仓库ADB问题之单表查时提示数据倾斜如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
123 4
|
6月前
|
缓存 Cloud Native 关系型数据库
云数据仓库ADB mysql3问题之点击开启没反应如何解决
云数据仓库AnalyticDB是阿里云提供的一种高性能、弹性扩展的云原生数据仓库解决方案;本合集将深入探讨ADB的架构、性能调优、数据管理和应用场景等,以及如何解决在使用过程中可能出现的问题,提高数据仓库的使用效率。
107 2
下一篇
无影云桌面