提升一个开发工程师的竞争力有多简单?

ElasticSearch(ES)作为一款优秀的分布式搜索分析引擎,越来越受到许多互联网公司的关注,像小米、滴滴出行、携程旅游、阿里云和腾讯云等都在使用 ElasticSearch 。

最知名的应用公司就是 GitHub,它采用 ES 作为搜索引擎对代码进行搜索。虽然它是一款优秀的分布式搜索引擎,但是它强大的查询、分析、聚合能力使得它与数据库的边界越来越模糊。因此很多大公司都喜欢用 ES 作为数据库来存储日志或者其他业务数据,最常见的结合就是通过 Kafka 、 Redis 来作为数据源,logstash 进行转化,ES 对数据存储,kibana 对数据进行展示, ES+logstash+kibana(ELK)一体化的日志分析、业务指标分析。

越来越多的公司使用 ElasticSearch ,这门技术已经不仅仅是大数据工程师必须要掌握的了,ES 还提供了 Java ,python 等 API,因此 ES 将会成为 Java 工程师与 Python 工程师必不可缺的工具,灵活应用 ES 将会成为你未来最有竞争力的能力。

而且,ElasticSearch 目前在搜索引擎领域霸居首位,数据库领域的综合排名位列第 7 ,属于优质潜力股。市场对其的认可度一直在高升,属于供不应求的黄金阶段。


ElasticSearch 能够做什么?

从数据获取,存储计算到可视化,ES 开发了一整套解决方案,Logstash 、Beat 负责数据抓取,ES 负责存储计算,kibana 对数据进行展示分析。另外还有收费的 X-Pack 可以实现安全、告警、监控和 ML 等更丰富的功能。ES 在搜索、日志分析、指标分析和安全分析等领域应用广泛。从前端到后端到数据分析,从云服务到最流行的机器学习,ES 都提供了一整套解决方案。


为什么不使用 MySQL、Oracle 或者 Hbase?

传统数据库优点是结构化查询,查询速度快、安全。但是当数据量较大时候,无论是查询还是插入都会变的十分缓慢,当然 MySQL 也可以做成分布式,但是部署以及维护成本较高。Oracle 查询速度是很快的,即使数据量较大,查询速度也不会很慢,但是有多少公司愿意负担这个费用呢?

为什么不使用 Redis 或者 Hbase?

对于文档数据库,每个数据库都有其应对的需求,就 Redis 而言,Redis 更适合做缓存数据库,查询速度非常快,但是它的数据结构是键值对,不能够进行复杂的需求查询,只能给一个 key 然后返回结果。Hbase 是基于Hadoop 的数据库,它的特点是能够存储海量数据,并且扩展起来简单,因为底层是基于 HDFS 的。对于实时需求任务,以及在线分析就比较困难,不可能把所有数据都加载出来,或者写一个 MapReduce job 来进行任务分析,这样的工程是比较耗费资源的。

ES 是分布式的,并且在数据量超大的情况下其查询速度也嗖嗖的快。另外对象中无论是怎样的复杂关系,都可以用 JSON 格式表达出来,可读性较高,ES 就是以 JSON 数据格式存储数据。并且支持在线分析、实时分析。ES 是基于存储、查询、聚合分析和可视化于一体的解决方案。

什么样的数据适合存进去?

日志数据,一般如果程序遇到什么问题都可以通过查询日志分析来定位错误的地方,这种需求肯定是能够过关键字查询,能够在线可视化分析。这个需求就不合适放在传统数据库中,因为日志冗余大,而且涉及很多文本查询,使用传统数据库是非常不方便的,Redis 等文档数据库更不适合。ES 正好就是全文本检索系统,且是分布式的适合这个需求。另外指标数据也是适合存进去的,指标实时在线监控、报警等,ES 提供了一整套解决方案。

所以说不同的数据库或者全文检索系统都有其专门的应用场景,当涉及到实时,文本检索,数据量大,可视化分析,聚合分析的时候都可以考虑使用 ES 来作为解决方案。

专栏介绍

在专栏《ElasticSearch 大数据搜索查询分析全指南》中,我会先介绍 ElasticSearch 的基本原理概念,对 ES 有个整体的把控。

实践是最好的学习方式,专栏之后会用 Kibana 对常见的业务需求进行分析,作为学习 ES 的开始,然后到进阶 ES 分析,对 ES 高阶的分析组件进行学习。

然后会详细介绍 ES 开发的核心部分 DSL 的详细介绍讲解,结合目前主流的开发语言,Python 与 Java 模拟工作中常见的业务进行开发分析。

为了加强对 ES 的理解,专栏最后会结合多种需求案例进行系统的学习。

  • 本专栏采用最新的ElasticSearch7.x版本

同市面上大部分的 ElasticSearch6.x 教程相比较,7 版本更新改动很大,比如新增 KQL(Kibana Query Language),内部索引类型限定为 _doc ,还是 ES for python API  接口的改变等。

众所周知,在技术更新如此快的年代,掌握最新的技术就能够在未来使用它的时候不会那么快就被淘汰。比如从 Java 的 iBatis 到 MyBatis ,从 Struts2 到 Spring MVC 再到 Spring Boot 。虽然你不能够停止学习的脚步,但是你可以选择插队学习,弯道超越,直接学习最新的最流行的技术,这样就比别人更领先一步。

  • 本专栏将针对 ES  在业务中的核心概念进行解析,让你不仅明白为什么使用它还能了解该怎样选择。

ES 作为目前大数据方向必须掌握的技能,主要是作为工具分析挖掘业务数据,因此专栏会有大量的实践案例,涵盖了工作中常见的业务场景,无论你是初入职场的小白,还是即将毕业的学生党,专栏能够给你提供各种实践操作,手把手带你玩转起 ES 。而且我也将在专栏里针对大厂面试中常见的问题给出正确的解答思路。

  • 本专栏将介绍在 Java 和 Python 框架下如何运用 ElasticSearch。

本专栏讲究边学边做,把学的到东西能够立即投入到公司实际业务中,所以会介绍如何在 Python 与 Java 框架下使用 ES。同时,比如制作业务分析表、Dashboard、检测异常值、筛选数据、分组统计数据等功能,本专栏中不会单纯贴几个 Demo,而是会以一个更系统的案例来演示。

  • 专栏将针对 ES 的重要搜索功能 DSL 进行业务分析。

DSL 之于 ES 的重要性不言而喻,就相当于 SQL 对于传统数据库而言。关于如何使用 DSL,对查询效率较差语句如何进行提高查询效率,本专栏将针对 DSL 的查询结合不同的业务需求进行实现,从简单到深入一步步理解 DSL 。

  • 专栏前部分偏重理论,后部分偏实践。

实践是检验真理的唯一标准,职场中讲究的是效率,先把工具用起来,当使用一段时间后,再去理解不同的概念,相信你会有醍醐灌顶的感觉。就像在大学里上关于数据库的课,老师会先让你做个学生数据库,在慢慢告诉你什么是索引、表连接、范式等。

  • 丰富的图片展示进行原理和案例讲解。

???? 如何查看相应数据
???? 如何范围查询
???? 饼状图开发案例
???? 数据可视化案例

专栏大纲

现在订阅即享 6 折,还能进群与作者交流


你将获得什么?

  • 最新的 ElasticSearch 特性运用

  • ElasticSearch 业务核心技能 比如 Kibana 业务分析方法,这些方法将会满足绝大多数公司需求,饼图,折线图,柱状图,聚合分析,分桶等。

  • ElasticSearch 大数据搜索分析高级玩法 比如 DSL 查询语法的基础与高级用法,了解如何使用 DSL 为全文检索服务,了解如何把 ES 当做数据库,使用 DSL 实现各种 SQL 操作。

  • Java 和 Python 框架下如何运用 ElasticSearch

  • ElasticSearch 环境部署和搭建 比如集群搭建,了解分片,实例,节点角色概念,什么是倒排索引,对 ES 有个整体的把握。

点击阅读原文,立享6折优惠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值