写点什么

查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?|极客时间

  • 2019-06-26
  • 本文字数:2481 字

    阅读完需:约 8 分钟

查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?|极客时间

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎


它可以从海量数据中快速找到相关信息,在同领域内几乎没有竞争对手——近两年 DBRanking 的数据库评测中,Elasticsearch 在搜索引擎领域始终位列第一


当你在 GitHub 上搜索时,Elasticsearch 可以实现代码级的搜索与高亮显示 ;当你在网上购物时,ES 可为你推荐喜欢的商品;当你下班打车回家时,ES 可以通过定位附近的乘客和司机,帮助平台优化调度。


Elasticsearch 还被广泛运用于大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。


它可以探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习,做到自动识别异常状况。


作为目前最流行的开源搜索引擎,ES 在全球的下载量已超过 3.5 亿次,腾讯、滴滴、今日头条、饿了么、360 安全、小米,vivo 等国内诸多知名公司都在使用 Elasticsearch。

如何深入理解,并高效使用 Elasticsearch ?

Elasticsearch 非常容易入手,具有开箱即用的特性,你可以在极短的时间内设置好开发环境,然后快速上手使用,继而在成百上千台服务器上实现 PB 级的数据处理。


虽然上手快,但要想做到深入理解并高效使用,可就没那么简单了,比如:


  • 为什么我的数据查不到,明明是有的啊!

  • 什么鬼?为什么是这几条数据出现在搜索结果的前几位?

  • 生产环境我需要多少台机器,索引的分片数怎么样设置才是合理的?

  • 应该关注哪些指标,才能保证集群健康高效地运行?

  • 对于日志型应用,如何设置 Hot & Warm Architecture 节约成本,怎样管理和优化基于时间序列的索引数据,才能提高集群的整体性能?

  • 为什么我的集群脑裂了?数据损坏后,怎样才能恢复?


其实,想要掌握 Elasticsearch,除了要理解其分布式架构的原理外,还要了解一些信息检索领域的知识和相关技巧


我整理了一张 Elasticsearch 核心知识图谱,只有对每一个知识点仔细梳理并深入理解,才能解决工作中的实际问题。



所以,我和极客时间合作了这门视频课《Elasticsearch 核心技术与实战》,在课程中,我会用理论与实践相结合的方式、深入浅出地讲解 Elasticsearch。


只要你坚持学习,就可以掌握 ES 的基本概念和服务搭建,了解其背后的运行机制和常用技巧,并通过上手实战理解 ES 在实际项目中的应用


近几年 ES 非常热门,所以去年 Elastic 公司推出了官方的 Elastic 工程师认证考试,需要考生在 3 个小时的线上考试中动手解决 12 个实际问题,就算有多年工作经验的老手都未必能通过,所以含金量非常高。


我们这门课覆盖了 Elastic 认证考试的全部考点,参加 Elastic 认证考试的同学,也可以将这门课作为参考教材,进行学习和知识要点的回顾。

我是谁

我是阮一鸣,eBay Pronto 平台技术负责人。我所负责的 Pronto 平台,管理了 ebay 内部上百个 ES 集群,数据规模超过了 4000 个节点。


这些集群在 ebay 的生产环境中,支撑了包括订单搜索,商品推荐,日志管理,风险控制,IT 运维,安全监控等不同领域的服务。


作为一名互联网行业的老兵,我已经从业近 20 年了,在大数据、云计算和性能优化方面积累了丰富的经验。同时,我也是一名连续创业者,创办过手机游戏公司、个性化音乐推荐与分享平台 8box。

我是如何讲解 Elasticsearch 的?

Elasticsearch产品迭代速度非常快,很多老的 API 都已经被废弃不再使用,搜索到的参数配置也大多发生了变化。


市面上的书籍和教程都是基于 5.x 甚至是 2.x 版本。而在课程中,我使用 Elasticsearch 最新的 7.1 版本进行教学。


所有 ES 最新版本的特性,在课程里都会有全面和直观地展现,比如:用机器学习进行异常检测;用 Canvas 展示数据;用索引的生命周期管理工具对索引进行优化等等。

课程大概分为 5 个部分:

1、初识 Elasticsearch:


Elasticsearch 核心概念、工作机制与应用场景;本地开发环境搭建;倒排索引的原理与 ES 中 Analysis 的具体细节;Mapping 设置和一些基本的 Search & Aggregation API。


2、深入了解 Elasticsearch:


理解 Elasticsearch 分布式架构的原理;相关性算分的原理;数据建模的最佳实践;深入搜索及聚合功能以提高搜索结果的相关度。


3、管理 Elasticsearch 集群:


集群的水平扩展、参数配置、性能优化、故障诊断。


4、利用 ELK 做大数据分析:


结合使用场景和数据,探索 Logstash、Kibana 的各项功能。


5、应用实战工作坊:


设计了电影搜索和 Stack Overflow 用户调查问卷的数据分析两个实战项目,通过上手实践,你可以巩固所学的知识点,并运用到实际项目中。

学习这门课需要什么基础?能获得什么?

这门课不仅适合有 ES 使用经验的人,也适合初学者。编程知识和和数据库的相关使用经验,会对你的学习有一定帮助,但并不是必须的。 我会从原理和基本概念出发,帮助新手在复杂的搜索世界里获得一个稳定的基础。


针对开发人员,搜索是一项被广泛需要的功能。在课程中,我会详细讲解相关的搜索概念在 Elasticsearch 中是如何对应和具体实现的。


最后,也许你是一名 Elasticsearch 的运维人员,管理了公司内部的 Elasticsearch 集群:上线前的如何进行容量规划,上线后如何保证这些集群在生产环境内稳定高效的运行,如何在凌晨识别出异常信号,及时发出告警,以避免灾难的发生。


这些问题,在课程中我都会给出相关的最佳实践


开发人员、运维工程师、架构师、数据分析师、产品经理,都值得学习 Elastic Stack。因为在大数据时代,近实时的搜索和分析能力,会让你唯快不破,洞见未来。


结合课程中的练习和实践,我有把握你一定能学以致用,基于 Elasticsearch 构建出你自己的搜索和数据分析产品。


《Elasticsearch 核心技术与实战》

上线仅 2 天,

超过 5000人已加入学习。


现在订阅有什么福利?

  1. 早鸟 ¥99,原价 ¥129,结算时输入优惠口令「521devops」再减 10 元,到手仅 89 元。

  2. *注:口令仅限【前 100 个名额有效】,戳此使用,以最低价 ¥89 入手课程。

  3. 订阅课程后,可以获得作者亲自整理的高清版「Elasticsearch 核心知识图谱」,获取方式:添加课程运营微信 dididisco,回复关键词:「ES」。




优惠口令【 仅限前 100 个名额 】有效。


👇戳此使用,以最低价 89 元订阅。


2019-06-26 15:598110

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 测试平台开发-前端开发之Vue.js 框架(一)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 一文带你了解测试流程的体系

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试面试 | 某 BAT 大厂测试开发面试真题与重点解析

测吧(北京)科技有限公司

测试

HummerRisk 云原生安全平台

HummerCloud

云计算 云原生 云安全

k8s Tidb 实践-运维篇

TiDB 社区干货传送门

数据库前沿趋势

软件测试 | 测试开发 | 被测项目需求你理解到位了么?

测吧(北京)科技有限公司

测试

百草味上线“本味甄果”系列罐装坚果 打造高品质坚果新标准

E科讯

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【二】

Rae

kafka 架构 分布式 日志 原理

TiDB Lightning导入超大型txt文件实践

TiDB 社区干货传送门

迁移 管理与运维

运维成本降低 50%,丽迅物流是如何应对大规模容器镜像管理挑战的

阿里巴巴云原生

阿里云 容器 云原生 镜像

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

【“玩物立志”-scratch少儿编程】亲手实现小猫走迷宫小游戏:其实挺简单

清风莫追

游戏 scratch 10月月更

TDengine3.0流式计算引擎语法规则介绍

TDengine

数据库 tdengine 企业号九月金秋榜

k8s Tidb实践-部署篇

TiDB 社区干货传送门

数据库前沿趋势

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

深度分析React源码中的合成事件

goClient1992

React

软件测试 | 测试开发 | 做为测试,那些必须掌握的测试技术体系

测吧(北京)科技有限公司

测试

Go runtime:带你了解Go语言的GMP模型与goroutine调度

董哥的黑板报

Go 线程 操作系统 协程 runtime

软件测试 | 测试开发 | 软件项目管理与跨部门沟通协作

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 黑盒测试方法论—等价类

测吧(北京)科技有限公司

测试

TiFlash 源码阅读(九)TiFlash 中常用算子的设计与实现

TiDB 社区干货传送门

软件测试 | 测试开发 | 测试平台开发-前端开发之Vue.js 框架的使用(二)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 被测系统架构与数据流分析

测吧(北京)科技有限公司

测试

C语言太细了

清风莫追

c 10月月更

【导航】FreeRTOS学习专栏目录 【快速跳转】

矜辰所致

目录 FreeRTOS 9月月更

软件测试 | 测试开发 | 黑盒测试方法论—场景法

测吧(北京)科技有限公司

测试

弯曲矫正技术概述

合合技术团队

人工智能 深度学习 图片处理

数据中台中事实表设计概述

穿过生命散发芬芳

数据中台 9月月更

软件测试 | 测试开发 | 软件测试入门必会-流程管理平台

测吧(北京)科技有限公司

测试

2022-9-30

留白的艺术

查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?|极客时间_语言 & 开发_阮一鸣_InfoQ精选文章