持续定义Saas模式云数据仓库+实时搜索
一、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模式云数据仓库+实时搜索的更多相关文章
- OneAlert:国内首家 SaaS 模式的云告警平台
随着互联网行业的高速发展,企业 IT 应用环境日趋复杂.几分钟的故障就会严重到用户体验,那么如何有效降低IT故障带来的影响呢?权威数据表明,86%的企业认为建立有效的监控系统和告警系统.提升 IT 的 ...
- 中国首个 SaaS 模式的云告警平台安卓版 APP 上线
今年一月底,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布了 iOS 版 App 客户端,今天上午,安卓版 App 客户端也正式上线了!每个安卓用户,无需电脑,都可以通过手机全程跟踪 ...
- 中国首个 SaaS 模式的云告警平台 iOS 版 APP 上线
今天上午,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布 ios 版 APP,每个 ios 用户,无需电脑,都可以通过手机全程跟踪所有告警,并且可以和每一个成员一键式电话沟通,团队协 ...
- Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,elasticsearch安装配置及中文分词
http://fuxiaopang.gitbooks.io/learnelasticsearch/content/ (中文) 在Elasticsearch中,文档术语一种类型(type),各种各样的 ...
- MaxCompute 构建企业云数据仓库CDW的最佳实践建议
在本文中阿里云资深产品专家云郎分享了基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议. 本文内容根据演讲视频以及PPT整理而成. 大家下午好,我是云郎,之前在甲骨文做企业架构师 ...
- ElasticSearch + Canal 开发千万级的实时搜索系统
公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市.用户ID昵称等进行搜索. 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式.但随着业务的发展, ...
- ElasticSearch + Canal 开发千万级的实时搜索系统【转】
公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市.用户ID昵称等进行搜索. 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式.但随着业务的发展, ...
- 什么是SAAS模式网站?
说到“SAAS”,它的读法非常有趣,有“萨斯”,有“S.A.A.S”, 还有中文白话“啥事”的.不过,大多不熟悉的朋友第一反应可能是非典?,别误会,此“SAAS”非彼“SARS”,一字之差,但是意义完 ...
- 揭秘!2周实现上云上市,阿里云SaaS上云工具包如何打造新云梯?
提到“上云”,很多人会理解成上IaaS,比如买一些计算.存储和网络云产品,把自己的应用系统部署上去.这的确是通常意义的上云.但对SaaS而言,需要从产品.商业.服务,三个维度考虑SaaS伙伴和客户的痛 ...
- SaaS模式给用户带来的优势
这两年SaaS服务在中国越来越受欢迎,企业正在从使用本地化软件向SaaS服务转变.由于企业用户人力成本的上升.移动终端设备的兴起以及共享经济对企业的影响,企业采用经营设备.软件的方式也在逐渐发生着变化 ...
随机推荐
- webserver总结
可设置参数:连接池最大连接数,最大线程数,任务队列最大值,timeslot epoll epoll监听listen_fd(接受新客户端和断开连接), pipefd(将信号输入到管道用epoll统一管理 ...
- JS(函数、作用域、预解析)
一 函数的概念 在 JS 里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用.虽然 for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用 JS ...
- 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.安全特性 在上篇文章中,我们了解到HTTP在通信过程中,存在以下问题: 通信使用明文(不加密),内容可能被窃听 不验证通信方的身份,因 ...
- 【GD32L233C-START】DAC输出(正弦波、锯齿波、方波)
[GD32L233C-START]DAC输出(正弦波.锯齿波.方波) 1.介绍GD32L233C采用的是一款M23的内核.这个芯片据说功耗非常的低,低到什么程度呢?等后面我们再进行测试,今天我们主要来 ...
- Kingbase ES 函数返回-return语句
文章概要: 本文在https://www.cnblogs.com/kingbase/p/15703611.html 一文的基础上总结了Kingbase ES中函数能支持的return语句,整体上兼容o ...
- kingbase ES group by 语句优化
1.group by 分组语句 在SQL中group by主要用来进行分组统计,分组字段放在group by的后面:分组结果一般需要借助聚合函数实现. group by语法结构 1.常用语法 语法结构 ...
- KingbaseES V8R6 sslinfo 插件
前言 KingbaseES对使用SSL 连接加密客户端/服务器通讯的本地支持,可以增加数据传输安全性. 本文展示配置ssl连接,并通过安装一个插件验证ssl加密认证使用. 一.配置ssl连接过程: s ...
- redis的两种持久化方式
1.为什么redis需要持久化 答:edis是基于内存的,如果Redis服务器挂了,数据就会丢失 2.有几种方式实现redis的持久化 答:有两种,一种是AOF 持久化,另一种是RDB持久化 一. A ...
- Refresh Clean Code
这是一本被前辈称赞, 另一个马丁的知名著作, 被赋予学习如何写出漂亮代码的教皇级手册, 最近(再)浏览, 有诸多感受. 总结一下就是如果你是新手, 可能看优秀的open source学习更好; 如果你 ...
- #直径#CF804D Expected diameter of a tree
题目 给一片森林,\(q\) 个询问,每个询问两个点, 问将这两个点所在的集合连接起来组成的新集合,它的最远两点的距离的期望值是多少. 分析 首先将以每个点为根的最大深度求出来,然后对于两棵树, 只有 ...