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

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

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等等,具体如下图所示。

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

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

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

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

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

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

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

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

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和其他对象来查看这些数据。

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

原文链接
本文为阿里云原创内容,未经允许不得转载。

持续定义Saas模式云数据仓库+实时搜索的更多相关文章

  1. OneAlert:国内首家 SaaS 模式的云告警平台

    随着互联网行业的高速发展,企业 IT 应用环境日趋复杂.几分钟的故障就会严重到用户体验,那么如何有效降低IT故障带来的影响呢?权威数据表明,86%的企业认为建立有效的监控系统和告警系统.提升 IT 的 ...

  2. 中国首个 SaaS 模式的云告警平台安卓版 APP 上线

    今年一月底,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布了 iOS 版 App 客户端,今天上午,安卓版 App 客户端也正式上线了!每个安卓用户,无需电脑,都可以通过手机全程跟踪 ...

  3. 中国首个 SaaS 模式的云告警平台 iOS 版 APP 上线

    今天上午,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布 ios 版 APP,每个 ios 用户,无需电脑,都可以通过手机全程跟踪所有告警,并且可以和每一个成员一键式电话沟通,团队协 ...

  4. Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,elasticsearch安装配置及中文分词

    http://fuxiaopang.gitbooks.io/learnelasticsearch/content/  (中文) 在Elasticsearch中,文档术语一种类型(type),各种各样的 ...

  5. MaxCompute 构建企业云数据仓库CDW的最佳实践建议

    在本文中阿里云资深产品专家云郎分享了基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议. 本文内容根据演讲视频以及PPT整理而成. 大家下午好,我是云郎,之前在甲骨文做企业架构师 ...

  6. ElasticSearch + Canal 开发千万级的实时搜索系统

    公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市.用户ID昵称等进行搜索. 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式.但随着业务的发展, ...

  7. ElasticSearch + Canal 开发千万级的实时搜索系统【转】

    公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市.用户ID昵称等进行搜索. 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式.但随着业务的发展, ...

  8. 什么是SAAS模式网站?

    说到“SAAS”,它的读法非常有趣,有“萨斯”,有“S.A.A.S”, 还有中文白话“啥事”的.不过,大多不熟悉的朋友第一反应可能是非典?,别误会,此“SAAS”非彼“SARS”,一字之差,但是意义完 ...

  9. 揭秘!2周实现上云上市,阿里云SaaS上云工具包如何打造新云梯?

    提到“上云”,很多人会理解成上IaaS,比如买一些计算.存储和网络云产品,把自己的应用系统部署上去.这的确是通常意义的上云.但对SaaS而言,需要从产品.商业.服务,三个维度考虑SaaS伙伴和客户的痛 ...

  10. SaaS模式给用户带来的优势

    这两年SaaS服务在中国越来越受欢迎,企业正在从使用本地化软件向SaaS服务转变.由于企业用户人力成本的上升.移动终端设备的兴起以及共享经济对企业的影响,企业采用经营设备.软件的方式也在逐渐发生着变化 ...

随机推荐

  1. Python isinstance() 函数含义及用法解析

    描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关 ...

  2. kettle教程--通过配置文件同步所需要的列数据

    kettle教程--通过配置文件同步所需要的列数据 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「kettle」, 免费领取全网最热的kettle实战视频教程 ht ...

  3. 5G+云渲染:如何快速推进XR和元宇宙实现?

    XR(扩展现实)领域正在以惊人的速度增长.目前,到 2024 年,一些专家表示这个行业的价值将达到 3000 亿美元. 这个行业发展如此迅速的部分原因是 XR 将在商业环境中的带来巨大利益.近年来,很 ...

  4. django(cookie与session、中间件、auth模块)

    一 cookie与session 1 发展史及简介 """ 发展史 1.网站都没有保存用户功能的需求,所有用户访问返回的结果都是一样的 eg:新闻.博客.文章 2.出现了 ...

  5. python面向对象编程(封装、隐藏)

    一 封装 1.封装介绍封装是面向对象三大特性最核心的一个特性封装<----->整合2.将封装的属性进行隐藏操作1).如何隐藏:在属性名前加__前缀,就会实现一个对外隐藏属性效果该隐藏需要注 ...

  6. Android 经典笔记之七:CountDownTimer解读

    CountDownTimer(倒计时计数器) 1.1 介绍 1.2 参数 1.3 公共方法 1.4 使用方法 1.5 源码分析 **0.本人写的综合案例**[案例](https://github.co ...

  7. CenterNet:Corner-Center三元关键点,检测性能全面提升 | ICCV 2019

    为了解决CornerNet缺乏目标内部信息的问题,提出了CenterNet使用三元组进行目标检测,包含一个中心关键点和两个角点.从实验结果来看,CenterNet相对于CornerNet只增加了少量推 ...

  8. KingbaseES V8R6 集群运维案例-- sys_internal.init.*文件引起sys_basebackup失败

    案例说明: KingbaseES V8R6集群在执行'repmgr standby clone'或sys_basebackup克隆备库时出现如下图相关sys_internal.init文件错误: 适用 ...

  9. 5W1H聊开源之Why——为什么要参与开源?

    中国开源的发展速度发展加快,个人和组织对于为开源作贡献有着前所未有的激情.据<2020年IT行业项目管理调查报告>,约四成受访者以自己开发开源项目.为他人提交项目代码.作为成员开发维护项目 ...

  10. #特征方程,dp,快速幂#洛谷 4451 [国家集训队]整数的lqp拆分

    题目 分析 设\(dp[n]\)表示答案,因为\(dp[n]=\sum\prod_{i=1}^mF_{a_i}\) \(dp[n]=\sum_{i=1}^{n-1}dp[i]*F_{n-i-1}\) ...