Elasticsearch生态技术峰会 | Elasticsearch在清博大数据的应用与实践

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。

开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。

 

视频静态封面-780-388-0120备份 11.png

 

本篇内容是清博大数据技术副总裁王欢带来的基于Elasticsearch技术的应用与实践分享。
分享人:清博大数据技术副总裁王欢

关于Elasticsearch在清博的应用和实践,本文将通过四个部分展开介绍:

  • 关于清博
  • 典型业务场景
  • 痛点与诉求
  • 阿里云Elasticsearch实践与收益

一、关于清博大数据

清博数据成立于2014年,是一家专注于内容数据领域,是基于网络公开数据,依托自然语言处理、知识图谱、事理图谱等AI技术,挖掘有价值的数据以及关系,为政务部门、企业、媒体和高校的网络空间数据治理,提供一站式解决方案的公司。

清博大数据的主要业务布局有:

 

image.png

 

  • 清博指数,已经成为业内知名的新媒体账号评估服务体系;
  • 清博舆情,是业内主流舆情SaaS服务平台,为数十万B端网络品牌跟踪管理提供一站式服务;
  • 清博融媒,助力政企、校园的融媒体建设;
  • 产业数据,基于数据和技术的积累,在汽车大数据和环保大数据等产业数据领域也有布局。

二、典型业务场景

上文所提到的业务方向中都有Elasticsearch的参与和支持。下面介绍几个典型的应用场景。

清博舆情
下图展示的是清博舆情中常见的分析模块。

 

image.png

 

清博舆情利用NLP技术给常见的每条新闻及评论打上7个情绪标签,然后基于标签分析每天的情绪走势和情绪分布情况。这个应用可以理解为,针对某个事件,大众在不同情感表达下的声量大小。

另外,我们也对事件的发布和媒体敏感信息报道进行渠道统计,统计后就可以直观的看到一个事件的重要或敏感的传播节点,这就为业务的决策者提供了非常直观的决策参考。除此之外,系统还为用户提供发文类型、提及地区、热词分析等十多个常用的统计分析模块。

以上所描述的统计分析,都是基于Elasticsearch强大的聚合统计能力,包括嵌套的统计能力实现的。由于清博大数据提供的是线上的SaaS服务,在同个页面会迸发请求查询或聚合多个接口等需求,这就对Elasticsearch的聚合统计性能和内存使用率,都提出了更高的要求。

多维度的检索
多维度检索在清博大数据也是比较常见的业务场景。在舆情高级检索模块,清博检索提供了基于时间、发布平台、情感、媒体类别、发布地区等十多个维度的复合检索。同时还提供了基于term和match price的精确或模糊检索的复杂查询方式。

不同于日志检索场景,清博的多维度检索业务,需要权衡召回率和准确率,需要对标题跟正文设置不同的打分策略。比如给标题设置更高的权重,给正文设置相对较低的权重。另外,产品还能对包括阿拉伯语、日语、韩语、德语、法语等多国语言进行文本检索,这就涉及到了多语种的分词与检索召回。

 

image.png

 

账号画像
下图是清博指数平台一个微信公众号的画像页面,展示了公众号系列数据,包括阅读统计、阅读点赞、在看、发文趋势、发布习惯等数据指标的统计模块。通过这些模块,用户可以直观的了解一个公众号的发布情况、文章传播情况等,不仅给运营者提供了全方位、可参考的数据,也给广告投放的用户提供客观投放参考。

三、痛点与诉求

上文列举的不同业务场景都离不开Elasticsearch强大的查询和聚合能力,那么实现这样的功能有哪些痛点与诉求呢?

从上面业务场景列举可以看出,清博大数据的业务基本上都是基于文本检索,那么它具有的特点包括:

  • 需要支持多种语言检索;
  • 由于是在线的SaaS系统,需要实现亚秒级响应;
  • 需要支持上百个索引字段;
  • 需要满足聚合查询多和迭代频繁;

基于以上的业务特点就要求Elasticsearch具备高性能、平衡检索的召回率和准确率,并具有动态伸缩的能力。

 

image.png

 

基于以上的业务特点和服务要求,对清博大数据来讲,业务痛点可以分为三个方面:
1、成本
单篇文档不同于日志数据,占用索引空间大,所需的SSD存储昂贵;

2、运维
当业务数据不断增加,需要频繁扩节点;同时,由于是在线SaaS业务,所以需要实现亚秒级响应速度;并且在节点升级、增加内存等在线升级时,不停止服务。

 

image.png

 

3、兼容性
实现Elasticsearch集群迁移、本地化部署,业务代码无感知适配;云端备份索引可以兼容开源的Elasticsearch。

针对以上的业务痛点,清博大数据对云端Elasticsearch也提出了三点诉求:

1、成本
平滑扩缩容,索引支持冷热分离,热数据才放到SSD存储,从而降低存储成本;

2、运维
需要有简单的运维工具支持一键扩缩容和节点升级等能力;需要支持丰富的运维指标,在达到一定阈值时,可以有不同类型的报警通知;需要支持平滑升级不对业务产生影响;

3、兼容性
阿里云Elasticsearch 100%兼容开源生态,并支持自定义的分词器,实现热更新分词词典,方便备份与恢复。云上备份与索引,可以快速在开源Elasticsearch上恢复或拉起服务。

 

image.png

 

四、云上实践与收益

清博大数据在迁移之前是基于Apache Solr自建的搜索集群,为了提升搜索性能和巩固集群稳定性,创建了很多小的Solr集群。在上游数据分析之后,通过一套路由机制写入到不同的Solr集群,在查询时通过同一套机制,自动选择对应的集群。在不同的集群中查询不同的数据,可以分散单个集群压力,如果有小集群异常只会影响部分业务。

但是太多分散且小的集群也会出现很多问题,比如增加故障的概率、缺少统一运维管理平台、运维管理成本过高、无法自动扩充Shard、需要手动增加节点扩容等等。

 

image.png

 

相比之下,阿里云Elasticsearch提供智能的、统一的运维平台,不仅可以多维度地监控告警,也能及时发现集群问题,而且阿里云ES专家的支持也减少了大量的运维成本。

阿里云ES自动Shard,提升系统性能,提高了系统的检索性能;阿里云ES节点的伸缩能力,可以灵活应对业务逐步增加,节省大量一次性投入的成本。

在迁移过程中,清博大数据同步升级了数据架构,整个平台是分层的数据模式。最底层是数据接入层,包括上述提到的各平台社交文本数据。所有的数据源首先会推送到Kafka集群,通过消息队列对各个业务模块进行检索。

再往上一层是数据处理和存储层。在存储层,像新闻标题、发布时间、原始URL等信息存储到HBASE。一些不需要检索内容的镜像数据会存到OSS上进行长期存储,并把OSS的路径存到HBASE,方便后面的检查。

在数据处理这一层,使用 Flink 实时流处理引擎,通过RPC的方式实时调用NLP相关的算法服务,为每一条文本内容打上情感属性、情绪分类、新闻类型和地域等标签,方便下游业务使用。

 

image.png

 

再上一层是整个ES的基础设施,包括ES集群和智能网关两层服务。在ES集群层,根据业务特点把近两年的数据放到冷数据集群,使用价格相对较低的高效云盘,把近三个月的数据放到热数据集群,使用SSD盘进行冷热集群分离,同时根据不同平台大小对索引进行拆分,分为微信、微博、短视频等等索引。

为了提高ES的安全性和访问的可控性,清博大数据开发了智能网关服务,屏蔽了直连ES的方式。在智能网关层,有很多业务都要调用ES数据,为了防止单个业务占用过多资源,影响到其他业务使用,网关可以为每个业务分配各自的QPS并设置优先级。一旦集群出现问题,可以对低优先级的业务进行熔断限流,以保证高优先级的业务。

由于在ES的数据层把索引按照来源进行拆分,数据被分散到多个集群中,这会给查询带来一定的麻烦。为了方便前端业务的调用,网关路由所有模块可以根据业务端查询的数据类型,自动路由到对应的索引,同时网关层也会对业务端查询进行优化,比如根据时间段选择对应索引,而不是扫描全部索引。

最上面一层是业务接入层,包括上文提到的舆情业务、指数业务、融媒业务等等。

基于阿里云ES打造的统一数据平台,也可以看作是一个分层架构,如下图。

 

image.png

 

最底层文档写入ES索引前,会先进入路由层。路由服务会根据文档的来源、发布时间、机型状态等,选择对应的集群以及索引,比如自动选择对应平台或者是对应索引所在的机器。

对日增数据量比较少的平台,会按照周或月进行索引拆分。对日增数据量很大的平台,路由会按天创建索引,这样就避免单个索引过大、数据过于倾斜而影响整个集群性能的问题,使每个索引的大小保持基本相同。

再向上一层是多个ES集群,包括不同平台的数据集群和冷热数据集群。前面一层经过路由策略之后,最终数据会分散到对应集群的对应索引中。为了方便查询,通过开发的Proxy,对用户特定的索引查询、多索引查询和聚合查询,甚至跨集群查询等,可以对数据进行查询集合,做到对业务端底层的索引细节屏蔽、业务端无感知、降低业务端调用成本,同时也方便底层的迭代升级。

基于以上的架构,在阿里云的ES数据平台提供近三个月超过100亿的热数据,在近三个月的索引占用空间超过60TB,日增网络公开内容数据超过1.2亿,单篇文档搜索字段超过200。

 

image.png

 

在这么大数据量的情况下,频繁变动升级会带来一些问题。值得一提的是,利用阿里云ES诊断功能,可以很方便地发现ES集群潜在的问题,也为集群的运维方向提供诊断经营。

在阿里云ES各种功能的加持下,清博大数据平台的稳定性较之以前提升了60%,整个运维时间减少了80%。正是由于阿里云Elasticsearch平台的各种能力,让团队可以把更多的精力放到产品开发和迭代上,比如基于平台能力快速开发了轻薄融媒平台,为清博融媒平台提供内容检索服务。

在开发的政府补贴类应用中提供政策搜索服务,为后面的推荐算法提供出色的结果,也为年终公众号运营画像类应用提供相关统计服务。除此之外,基于平台的能力还能提供更多的产品形态。

image.png

原文链接

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch生态技术峰会 | Elasticsearch在企查查的应用实践

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术…

漫话:为什么计算机用补码存储数据?

作者 | 漫话编程来源 | 漫话编程我们知道,计算机只认识0和1,现实世界中的内容,无论是文字、音频、视频等等想要通过计算机存储、计算或者展示,都需要转换二进制。就像你刚刚唱的旋律,想要存储在计算机中也是要转成二进…

cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...

特别福利:私信发送关键词【福利】,年度最全Office办公资源等你免费领哟~很多人都知道,有时在屏幕上并排查看起两个文件的内容,是一项非常顺畅和方便的操作——省去不少在不同窗口间来回切换的时间!当然,对于…

数据仓库如何实现湖仓一体数据分析?

简介: 随着云计算的普及和数据分析需求的扩大,数据湖数据仓库的湖仓一体分析能力成为下一代数据分析系统的核心能力。相对于数据仓库,数据湖在成本、灵活性、多源数据分析等多方面,都有着非常明显的优势。IDC发布的十项2021年中国…

Java应用全链路启动速度提升至15s,阿里云SAE能力再升级

简介: Java 作为一门面向对象编程语言,在性能方面的卓越表现独树一帜。但在高性能的背后,Java 的启动性能差也令人印象深刻,大家印象中的 Java 笨重、缓慢的印象也大多来源于此,高性能和快启动速度似乎有一些相悖。 近…

到底什么是“无源物联网”?

作者 | 小枣君来源 | 鲜枣课堂继Cat.1之后,2021年的物联网行业,又“喜提”了一个新的“风口”。这个“风口”的名字,叫做“无源物联网”。无源物联网,到底是个啥东东?它和现有的物联网技术之间,有什么区别&…

Gartner魔力象限到底有何“魔力”?

简介: Gartner魔力象限到底有何“魔力”?近日,Gartner发布了一系列最新魔力象限报告,在IT圈掀起了阵阵“龙卷风”,谁跻身全球第一阵营,谁跌出“领导者”象限,权威定调,众说纷纭&…

K8s 原生 Serverless 实践:ASK 与 Knative

简介: K8s 处在一个承上启下的位置,云原生用户使用 K8s 的目的是为了交付和管理应用,也包括灰度发布、扩容缩容等。但是对用户来说,实现这些能力,通过直接操作 K8s API 难免有些复杂。另外节省资源成本和弹性对于用户来…

react安装_前端大牛进阶---gt;React必会教程

一、背景介绍01React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源…

透过 3.0 Preview 看 Dubbo 的云原生变革

简介: 做过微服务开发的开发者相信对 Dubbo 都不陌生,Dubbo 是一款能帮助我们快速解决微服务开发、通信以及流量治理的框架。相比于之前只限定在 Java 语言范围内,Dubbo 的多语言版本在这两年呈现了良好的发展势头,其中&#xff0…

扩展云存储边界,阿里云推出全球首个云定义存储产品

云计算正带来一场消除线上线下存储边界的革命。 9月22日,阿里云宣布云存储服务全面升级,包括性能大幅提升300%、时延降低70%的ESSD云盘;可兼容HDFS的数据湖存储OSS,同时推出一款全新产品“云定义存储”(Cloud Defined…

Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题

简介: 2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang。众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇。Java 版 Seata AT 模式通过对 DataSource 数据源进行代理,在 sql 语句…

安装redis提示[test] error 2_技术干货分享:一次flask+redis的微服务实战

先说一下需求的场景,策划部门想做一个垂直领域的社区产品,类似与知乎那种,但受益人群是金融行业的从业人员。产品中有一个搜索问题的需求,搜索的问题去题库中进行模糊匹配,终端支持H5/APP/小程序,甚至是微信…

实现阿里云容器镜像服务反向访问代理

简介: 本文会先介绍镜像推送/拉取过程的交互逻辑来梳理需要代理的所有服务,再通过搭建一个公网 HTTPS 反向代理来访问容器镜像服务来向您展示多场景代理访问模式原理。 真实业务场景可能很复杂,因安全、合规、访问限制等原因可能需要&#x…

数字基础设施开源操作系统欧拉全新发布

在华为全联接2021上,面向数字基础设施的开源操作系统欧拉(openEuler)全新发布。欧拉操作系统可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备,应用场景覆盖IT(Information Technology)、CT&am…

mysql 聚簇索引和非聚簇索引_MySQL 聚簇索引 二级索引 辅助索引(上两期中奖名单)...

阅读文本大概需要3分钟。MySQL中每个表都有一个聚簇索引( clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引( secondary indexes )。以InnoDB来说,每个InnoDB表具有一个特殊的索引称为聚集索引。如果表上定义有主…

共筑计算新生态 共赢数字新时代

[中国,深圳,2021年9月25日] 在华为全联接2021上,华为副总裁、计算产品线总裁邓泰华分享了六大数字生态的最新进展,并携手生态伙伴为计算产业带来一系列重磅内容:欧拉开源操作系统(openEuler)全新…

数据湖,已成为海量数据存储与分析的重要承载方式

简介: 在云计算和大数据时代,基于数据开展生产、运营、决策成为常态,根据Gartner报道,2019年数据基建方面的采购费用飙升到660亿美元,占据基础架构类软件费用的24%。数据的存储及应用体系是企业生态运转的中枢神经&…

Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路

简介: 为了解决大数据、AI 等数据密集型应用在云原生场景下,面临的异构数据源访问复杂、存算分离 I/O 速度慢、场景感知弱调度低效等痛点问题,南京大学PASALab、阿里巴巴、Alluxio 在 2020 年 6 月份联合发起了开源项目 Fluid。 作者 | 顾荣 …

php生成cookie在哪,php程序中cookie的使用方法

Cookie 可以翻译为“小甜品,小饼干” ,Cookie 在网络系统中几乎无处不在,当我们浏览以前访问过的网站时,网页中可能会出现 :你好 XXX,这会让我们感觉很亲切,就好像吃了一个小甜品一样。这其实是…