Elasticsearch发展趋势

2024-06-17 03:48

本文主要是介绍Elasticsearch发展趋势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Elastic社区火热发展

目前,ES作为全文索引的事实霸主,名气在国内赶超Solr,企业、政府、学校等等纷纷开始倒向Elasticsearch。
ES社区非常活跃,可与当下AI风、Blink流处理风争芳。

国内一流互联网不仅仅使用ES来做日志分析,ES已经承担起很多企业的核心业务数据库的职责。

ES与DB取长补短,在构建大型应用时使用简洁、能够达到很可观的性能与规模,堪称最佳实践。

阿里、腾讯、字节跳动、普翔科技、新东方、vivo、网易等等一批最先吃螃蟹的人已经积累了一大批的使用经验;阿里、腾讯等在源码上也贡献颇多,成为ES骨灰级玩家。

小白有幸参加了2019年Elastic中国开发者大会,通过观摩大佬的分享,也得到了一些收获,分享给大家。水平有限,有误不吝赐教。

1 关于架构

1.1 中台固化经验探索

数据中台是一个企业数据量发展到一定阶段的产物。

一般从系统化->到平台化->再到中台化,企业业务越来越复杂,接入的垂直数据类型越来越丰富,简单的业务逻辑已经不能粗暴的解决问题。

这时候需要更加精细化的调控,把使用ES过程中的‘坑’(如index过大判断/shard过多判断/数据不均衡判断/非法操作截断)固化为使用经验,嵌入中台,使得集群稳定运行,不要等崩溃后去救急,要未雨绸缪。

1.2 集群容器化管理

当前,微服务、云原生理论大行其道。撇开此不谈,单从客户的角度去考虑,如何像用水用电一样使用ES,这就必然要求我们向容器化去深入探索。

k8s+docker+ES使用实践成为亟需探讨的话题。

1.3 多集群管理

一个ES集群在6.x版本之前官方口径在200个node左右达到极限,7.x版本对node之间通信做了优化,据说应该能够支持更多nodes的集群。但在庞大的业务需求下,这个仍然是不够的。

多集群数据生命周期管理、多集群代理网关、多集群日志监控、多集群数据安全等成为了一个平台必须要考虑的问题。

1.4 计算存储分离

某些知名公司已经做到计算存储架构分离,利用存储的纠删码特性,3副本情况下还能节省50%存储空间,数据导出性能提升100%。

ES在设计上具有天然的弹性特性,这一点Solr在7.x版本才开始引入。弹性伸缩特性为服务化做好了准备,同时也将有利于计算存储分离架构的实现。

2 关于应用

2.1 数据生命周期管理

Elasticsearch自身在此方面做的越来越完善,然而,官方也不是先行者,敢于吃螃蟹的人已经在此方面做出了很多的探索。冷热分离也好,数据治理也好,他们在使用Elasticsearch时已经达到了专家水平。所以,使用Elasticsearch,并把它用好,需要专业的人来做。

2.2 与数据总线的交互实践

数据总线,我们这里指的是消息中间件,如何利用CDC机制通过数据总线打通DB或者其他类型的数据存储库与ES的联动,处理业务问题,这方面需要新加入Elasticsearch的人做出更多的实践探索。

2.3 向量检索插件+中文分词器插件

当前,向量检索算法已经成为热门,如何使用向量检索技术打通图片、音频等等文件的索引查询成为炙手可热的技术趋势。
某些公司分词器插件支持新词索引热启动,在分词器上已经做出很多的优化。

2.4 数据导入与查询实践

之所以单独把这一点列出来,是因为目前ES的数据导入仍然大多数情况下是瓶颈;有些公司已经探索出直接通过Lucene接口消费数据然后restore到集群中的实践,据了解速度大幅提升,而牺牲的实时性也并不严重。其他玩家也有一些通过修改一些硬件配置或者自身就是硬件厂商,对使用ES做出了底层优化。

3 关于源码+理论研究

ES发展到现在,基于Lucene做出了很多技术上的优秀实践。

搜索引擎设计、列存储、聚合框架、BKD数据、稀疏矩阵、Rollups、Dense-vector、Data Frame、数据一致性、分布式等等,这里的每一个词汇也需要应用者自身技术做出突破才能在现有的基础上去改进。

这篇关于Elasticsearch发展趋势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068398

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)

记录下,使用 docker-compose 安装 Elasticsearch 和 Kibana,并配置 IK 分词器,你可以按照以下步骤进行。此过程适用于 Elasticsearch 和 Kibana 8.10.4 版本。 安装 首先,在你的工作目录下创建一个 docker-compose.yml 文件,用于配置 Elasticsearch 和 Kibana 的服务。 version:

ElasticSearch底层原理简析

1.ElasticSearch简述 ElastiaSearch(以下简称ES)是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,支持RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。ES设计用于云计算中,能够进行实时搜索,支持PB级搜索,具有稳定,可靠,快速,安装使用方便等

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询数据

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询; 一、首先启动相关服务: 二、新建一个film索引: 三、建立映射: 1、通过Head插件: POST http://192.168.1.111:9200/film/_mapping/dongzuo/ {"properties": {"title": {"type":

ElasticSearch 6.1.1运用代码添加索引及其添加,修改,删除文档

1、新建一个MAVEN项目:ElasticSearchTest 2、修改pom.xml文件内容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or

Windows下安装Elasticsearch,启动报错,解决方法,访问

对于Windows用户,我们推荐使用MSI安装包进行安装。这个安装包使用图形用户界面来引导你进行安装。 首先,从这里https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.msi下载Elasticsearch 6.1.1的MSI安装包。 然后双击下载好的安装包文件启动图形化安装程序,在第一个界面,选

Elasticsearch:无状态世界中的数据安全

作者:来自 Elastic Henning Andersen 在最近的博客文章中,我们宣布了支持 Elastic Cloud Serverless 产品的无状态架构。通过将持久性保证和复制卸载到对象存储(例如 Amazon S3),我们获得了许多优势和简化。 从历史上看,Elasticsearch 依靠本地磁盘持久性来确保数据安全并处理陈旧或孤立的节点。在本博客中,我们将讨论无状态的数据持

ElasticSearch的DSL查询④(DSL查询、RestClient的DSL查询)

目录 一、DSL查询 1.1 快熟入门 1.2 叶子查询 1.2.1 全文检索查询 1)match查询 2)multi_match查询 1.2.2 精确查询 1)term查询 2)range查询 3)ids查询 1.3 复合查询 1.3.1 bool查询 1.3.2 算分函数查询 1)基本语法: 2)运行流程: 3)示例: 4)执行结果: 1.4 排序 1.5

Mac使用Elasticsearch

下载 Past Releases of Elastic Stack Software | Elastic 解压tar -xzvf elasticsearch-8.15.1-darwin-x86_64.tar.gz  修改配置文件config/elasticsearch.yml xpack.security.enabled: false xpack.security.http.