30分钟全方位了解阿里云Elasticsearch
摘要:阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商业功能,致力于数据分析、数据搜索等场景服务。与开源社区背后商业公司Elastic战略合作,为客户提供企业级权限管控、安全监控告警、自动报表生成等场景服务。本文中,阿里云产品专家沐泽为大家介绍了阿里云Elasticsearch产品的相关情况。
产品介绍
Elasticsearch(简称ES)是2010年推出的一款开源产品,本质上是一个实时的分布式实时搜索与分析引擎。随着这些年来Elasticsearch生态的演进,逐渐发展成为ELK即Elasticsearch、Logstash、Kibana的生态。Elasticsearch属于搜索引擎,Logstash负责数据的采集、转化以及输出,Kibana则提供了强大的数据可视化功能。对于Elasticsearch而言,其在DB-Engines中的开源数据库排行榜中位列第一。可以看出,Elasticsearch受到了广泛的认可,并且也有大量的开发者正在使用。
阿里云Elasticsearch提供了全托管的Elasticsearch服务,并且100%兼容开源版本,并且对于内核进行了针对性优化,提供了商业功能(原‘X-Pack’),即开即用,高可用服务,弹性伸缩,按需付费。在下图中,在阿里云Elasticsearch的可靠性、安全性、系统托管等方面与友商的产品进行了对比。在可靠性方面,阿里云Elasticsearch具有99.9%的数据可靠性,并且会定时地向OSS进行数据备份,方便用户在数据出现问题的时候进行恢复。此外,通过同城多活,提供了较强的容灾能力。在开源差异部分,阿里云Elasticsearch也做了大量的工作。在内核性能优化部分,不仅做了存储与计算分离,还提供了ECS本身的调优。在Index Build服务部分,Elasticsearch本身支持高并发的数据写入加速,这样会使得数据的写入和查询相互影响,阿里云Elasticsearch则通过Index Build服务离线地构建索引,并将原生索引切换成比较小的片并与线上索引进行Merge,这样就避免了用户线上集群的I/O开销,在一定场景下保障了高并发写入场景下的查询服务的稳定性。在智能运维方面,阿里云Elasticsearch提供了EU智能运维系统,能够帮助用户运维和监控集群并且进行智能分析,方便用户更好地了解集群的健康状况,并且还提供了预警以及改进建议等功能。此外,阿里云Elasticsearch近期还集成了阿里达摩院的NLP分词器和分析器,能够更好地完成业务的分析和检索任务。在商业插件部分,X-Pack服务本身集成在Elasticsearch和Kibana里面的。以往这样的商业版插件包对于用户而言,需要付费使用,阿里云Elasticsearch通过这样的方式为用户提供了很多功能,如认证授权、权限管理、报表可视化以及机器学习等。总体来看,相比友商的ES方案以及用户自建ES,阿里云Elasticsearch的价格也具有较强的优势,并且具有更加丰富的产品能力,同时也具有比较高的性价比。
基于以上的目标能力,阿里云Elasticsearch也具有非常丰富的目标场景,主要集中在IT运维、信息检索以及日志分析等方面。在IT运维方面,用户可以做Metric监控、网络日志分析等相关工作。信息检索方面,不仅支持APP检索,也可以用于数据库加速以及聚合搜索等场景。在日志分析方面,可以用于Web日志分析、风控/审计/分析、用户行为分析/用户画像以及BI分析和Ad-hoc等场景下。最后,阿里云Elasticsearch的主要购买方式就是包年包月预付费和按量后付费两种。
产品输出形式
对于阿里云Elasticsearch产品的输出形式而言,主要在公共云和专有云这两个方面。在公共云上,阿里云Elasticsearch支持了金融云、零售云以及菜鸟云,并且在日本站和国际站进行了售卖。在专有云方面,8月底的时候阿里云Elasticsearch也提供了轻量PaaS独立输出,并且可以在企业版On ECS和企业版On物理机上进行部署。
产品架构
在产品架构部分,阿里云Elasticsearch部署在ECS网段,相当于购买了大量的ECS服务器拉起了ES镜像。对用户而言,可以购买很多的ES集群,每个ES集群中都会有很多的Node,每个Node就是一台ECS。整个ECS部署在系统方VPC内,并且支持跨可用区的同城容灾能力,也就是说在同一个区域下面,可以在不同的可用区内部署服务,通过阿里云VPC和用户VPC之间的IP映射使得每个集群的Node分布在不同的可用区之内。
除此之外,在保证容灾方面,用户的数据节点会定时地向OSS做快照备份,当用户的数据出现问题的时候,可以快速地通过OSS实现数据恢复。整体的数据存储类型支持高效云盘、SSD云盘以及本地磁盘。在存储计算分离方面,阿里云Elasticsearch近期也在内核方面进行了优化。本身Elasticsearch索引为了方便存储需要做分片,为了提升查询效率,每个分片会有多个副本,但是这样属于用空间换时间的方式,因此会造成大量的数据冗余,为用户带来很高的存储成本。另外一方面,为了提升查询效率,用户在写入数据的时候,就会增加更多的内存开销,进而造成写入速度较慢。在这样的背景之下,阿里云Elasticsearch做了存储与计算分离的内核优化,将用户数据的多个副本进行分片映射到同一块的物理介质之上,与原生的ES相比,阿里云Elasticsearch的存储成本降低至少50%,数据写入实时性能提升70%,Replica/Shard变更性能提升99%,以上这些能力都是开源版本的ES所不具备的。
公共云可售卖区域
目前,阿里云Elasticsearch除了美东、英国和迪拜三个区域还没有部署售卖之外,在全球范围内的其他阿里云数据中心都已经部署售卖了,未来也会在更多的区域进行开放。
金融持久化数据审计方案
这里介绍一个实际案例,这是阿里云为一家信用卡结算公司设计的金融持久化数据库审计方案。该客户存在金融数据监管需求,因此数据需要存储的时间较长,因此造成数据量非常大。因此,阿里云提供了金融持久化数据库审计方案中为用户提供了一个三层的数据存储方案,用户近期的Hot Data会在第一层ECS存储大约2个月的时间,当变成Warm Data或者更老的数据之后,就会存储到下层的ECS或者OSS之上,这样一方面保障了用户在使用阿里云Elasticsearch时的数据查询时效性,使得其不会被大数据量所影响,另外一方面也大大降低了用户的存储成本。
场景示例-日志分析
这里针对于日志分析场景进行更进一步的介绍。在日志分析方面,会采集用户在网站/游戏/应用内的行为日志数据,分为离线和在线两个部分分别投递给Hadoop及Elasticsearch,以满足用户(离线部分)标签、画像的加工,和(在线部分)用户行为实时统计和状态查询。阿里云Elasticsearch在日志分析场景下提供了很多对应的能力,面向日志分析场景,提供聚合搜索、实时查询、增量数据快速索引归档等分析必备能力。除此之外,阿里云Elasticsearch基于X-Pack服务提供了基于LBS的地理位置搜索、可视化分析报表、数据可视化展现等高级分析能力。进一步可以实现用户留存分析,浏览路径分析,基于地理围栏的用户画像,用户标签体系等数据查询、统计以及分析场景。
Elasticsearch如何处理日志
日志数据的来源有很多,比如日志文件、数据库、传感器以及Web API等,而利用这些日志数据实现日志搜索和日志分析会存在很多常见的需求,主要包括五点,即集中收集与存储、日志搜索、分析聚合及可视化、安全、角色管理以及可伸缩性。
- 在集中收集与存储日志数据方面,阿里云Elasticsearch会对于常规日志数据进行采集,包括日志文件、日志系统、网络拥堵等其他常见的日志数据。阿里云Elasticsearch通过收集和汇拢数据以及离线Hadoop数据迁移能够比较快捷地集中日志数据并存储到Elasticsearch中构建索引。
- 在日志搜索方面,阿里云Elasticsearch能够支持全文检索、元数据搜索、指标/标签搜索以及地理位置搜索等。
- 在分析聚合和可视化方面,当数据聚合到阿里云Elasticsearch里面去之后,可以通过sum、average、min/max等聚合函数实现聚合分析,并且可以通过X-Pack实现机器学习分析,也可以借助Kibana实现在线数据可视化。并且在阿里云Elasticsearch中,用户可以直接通过Kibana控制台实现配置以及可视化面板的创建。
- 在安全和角色管理方面,阿里云Elasticsearch提供了RBAC的用户权限以及TLS/SSL交互式安全协议,并且能够实现实时监控和触发告警,能够帮助用户进行实时预防。此外,基于X-Pack的商业功能能够提供自动数据报表以及触发式报表等服务,帮助用户更好地进行数据管理和查询。
- 在可伸缩性方面,阿里云Elasticsearch能够支持弹性扩容,因为ES的节点是对等的,因此能够实现快速拷贝和弹性扩容,实现不同规模下的数据管理。
阿里巴巴Elasticsearch的产品生态架构
数据会从RDS等数据存储中过来,通过Flume、EMR、MaxCompute等下游计算引擎进行加工和处理,完成画像或者标签的工作,最后索引到Elasticsearch中去。阿里云Elasticsearch是兼容整个大数据生态的,并且也能够无缝地对接整个阿里云的产品生态,进而非常方便地完成数据的处理工作。此外,还可以通过Kibana可以帮助用户更好地实现数据的可视化管理。
点击《30分钟全方位了解阿里云Elasticsearch》观看完整视频
2019年阿里云云栖大会上,Elasticsearch背后的商业公司Elastic与阿里云Elasticsearch确定战略合作升级,在100%兼容开源的基础上,完成了ELK的完整生态云上闭环,欢迎开通使用。
点击了解更多产品信息
阿里云双11亿元补贴提前领,进入抽取iPhone 11 Pro:https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110
本文作者:工程师甲
本文为云栖社区原创内容,未经允许不得转载。
30分钟全方位了解阿里云Elasticsearch的更多相关文章
- 30分钟全方位了解阿里云Elasticsearch(附公开课完整视频)
摘要: 阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security.Machine Learning.Graph.APM等商业功能,致力于数据分析.数据 ...
- 可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking
可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking 对Skywalking有兴趣的同学参见:年轻人的第一个APM-Skywalking 之前在搭建Skywalki ...
- 10 月 30 日 北京 LiveVideoStack 阿里云视频云专场限量赠票 100 张
10 月 30 日 | 北京 LiveVideoStack 将携手阿里云共邀 4 位技术大咖,一同探讨从上云到创新,视频云的新技术与新场景.阿里云视频云依托阿里云服务数百万开发者的卓越服务能力与实践, ...
- 阿里云 elasticsearch 增删改查
kibana 控制台 # 查询所有数据 GET /yixiurds_dev/_search { "query": { "match_all": { } } } ...
- 抱歉!15:44-16:39阿里云RDS故障造成全站不能正常访问
非常非常抱歉!2016年3月7日15:44-16:39,由于阿里云RDS(云数据库)故障,造成全站不能正常访问,给您带来了很大很大的麻烦,恳请您的谅解! 故障是在15:44开始出现的,应用日志中出现大 ...
- 【阿里云产品评测】小站长眼中的巅峰云PK
[阿里云产品评测]小站长眼中的巅峰云PK 阿里云论坛用户:昵称-a5lianmeng 笔者是一名小站长,因狂热互联网,而在毕业后由宅男逐渐进入站长队伍,在毕业后的几年间,经营6个流量类网站,身为站长, ...
- 2018.10.9 上线发现elasticsearch写入速度超级慢,原来罪魁祸首是阿里云服务的OSS的锅
问题描述: 按照项目计划,今天上线部署日志系统(收集线上的所有日志,便于问题排查). 运维按照以前的部署过程,部署elasticsearch,部署结束之后,通过x-pack的monitor发现elas ...
- 阿里云SaaS生态战略发布,用宜搭5分钟部署OCR文字识别
7月26日,在阿里云合作伙伴峰会上,阿里云发布SaaS生态战略:通过SaaS加速器为合作伙伴提供应用开发.集成.上云.售卖的全链路解决方案,提升开发效率和集成效率,缩短商业化周期. 作为阿里SaaS加 ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
随机推荐
- ruby之基础语法
ruby语法之哈希 =>相当于python的字典 ruby语法之数组 =>相当于python的列表 举例: gitaly= Hash.new #建立新Hash类型 gitaly['firs ...
- 【JavaWeb项目】一个众筹网站的开发(一)架构搭建
本项目是@尚硅谷相关视频的记录. 本项目使用Maven构建,工程架构如下图所示: 一.公司的公共父工程和工具类包 1.父工程 每个公司都有自己的父工程 父工程作用:对公司使用的jar包进行统一管理,别 ...
- Quartz.Net 任务调度之简单任务(1)
本文github链接 https://github.com/sunshuaize/cnBlogDemos/tree/master/Quartz.Net%20%E4%BB%BB%E5%8A%A1%E8% ...
- CDN技术详解(七)
动态内容加速服务的实现 随着Web2.0的兴起,产生了动态网页.个性化内容.电子交易数据等内容的加速,这些就涉及了动态内容加速技术. 静态内容的加速,都是对于表现层的加速,对于动态页面等内容的加速,则 ...
- BZOJ 3653: 谈笑风生(主席树)
传送门 解题思路 首先对于一个\(a\)来说,要求\(b\)和\(c\),那么\(a,b,c\)一定在一条链上.把\(b\)分类讨论,如果\(b\)是\(a\)的祖宗,这个方案数就很好统计了,就是\( ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- Openstack组件部署 — keystone(domain, projects, users, and roles)
目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...
- python中输入多个数字(代码实现)
不多说,直接上代码: list1 = [] #定义一个空列表 str1 = input("请输入数值,用空格隔开:") # list2 = str1.split(" &q ...
- Linux NIO 系列(04-3) epoll
目录 一.why epoll 1.1 select 模型的缺点 1.2 epoll 模型优点 二.epoll API 2.1 epoll_create 2.2 epoll_ctl 2.3 epoll_ ...
- 十次艳遇单例设计模式(Singleton Pattern)
1.引言 单例设计模式(Singleton Pattern)是最简单且常见的设计模式之一,在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访 ...