【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

UCloud Elasticsearch 服务 UES 应用场景分析

  • 2019-11-12
  • 本文字数:2463 字

    阅读完需:约 8 分钟

UCloud Elasticsearch服务UES应用场景分析

当一个系统业务数据量达到百亿条的时候,通常会引出一些问题:


  1. 数据怎么存储,存储到哪里

  2. 怎么保证数据安全,安全存储策略是什么

  3. 数据怎么检索,怎么做到快速响应

  4. 怎么对数据进行实时的统计分析


作为一款开源的定位于全文搜索引擎服务的 Elasticsearch,可能是这些问题下比较高效的一种解决方案。那么,Elasticsearch 的适用场景,能在什么地方发挥作用?Elasticsearch 的特点优势又是什么?总的来说,涉及搜索的业务场景可能都会有 Es 的用武之地,下面将介绍 Es 的几种常见业务场景。

日志分析

问题引入:


在复杂的计算机系统里面,一个系统可能由成千上百台服务器构成,很多系统不在一个地区机房,甚至有跨国家的;即使是在一个地区的系统,也有不同的来源,比如:操作系统、应用服务、业务逻辑等等。它们无时不刻都在产生新的各式各样的日志数据。


面对如此海量的分布在各个服务器上的日志数据,一旦我们需要去排查一些重要的信息,使用传统的方式登陆到一台台机器上查看显然有点力不从心。因此,建立一套集中式的日志管理系统,把不同来源的日志数据集中整合到一个地方再进行分析就显得尤为重要。


一套完整的集中式日志管理系统,主要包含以下几个功能:


采集-能够采集不同地区多种来源的日志数据;

传输-能够稳定地把日志数据传输到中央系统;

存储-能够安全的存储日志数据;

分析-能够提供高效的日志数据分析,并可以支持 UI 展现;

告警-能够提供监控机制,异常信息告警。


解决方案:ELK


ELK 是一套集中式日志管理方案,由 ElasticSearch + Logstash + Kibana 三个开源软件组成。UES 基于 ElasticSearch 和 Kibana 开发,使用 UES 服务的 ELK 协议栈如下图所示:



Logstash Agent 收集不同来源的 Server 产生的日志,并存放到 Elasticsearch 集群中,而 Kibana 则从 Es 集群中查询数据生成图表,加上配置 Nginx 实现简单的用户认证,再返回给浏览器端。


Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索、结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。


Elasticsearch 的主要特点:


  • 分布式的实时文档存储系统;

  • 分布式的实时分析搜索引擎;

  • 多数据源,文档导向,所有的对象全部是文档;

  • 高可用性,易扩展,支持集群(Cluster)、分片和复制(Shards 和 Replicas);

  • 支持插件机制;

  • restful 风格接口,支持 Json。


Logstash 是一个具有实时渠道能力的数据收集引擎,它是一个完全开源的工具,可以对你的日志进行收集、过滤,并将其存储供以后使用。Logstash 的主要特点是:几乎可以访问任何数据;可以和多种外部应用结合;支持弹性扩展。


Logstash 由三个主要部分组成:


  • Shipper-发送日志数据;

  • Broker-收集数据,缺省内置 Redis;

  • Indexer-数据写入。


Kibana 是一款基于 Apache 开源协议,使用 JavaScript 语言编写,为 Elasticsearch 提供分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找、交互数据,并生成各种维度的表图。


使用 UES 作为日志分析管理的案例分析如图所示:



从案例中可以看出使用 ELK 技术来做日志管理和传统方式的对比。结果显而易见,使用 ELK 技术能在最短时间内解决问题,在日志管理方面更加便捷高效。

全文检索

如今,无论是互联网信息还是企业内部每天产生的信息,都在以指数级增长。对于企业内部,在每天产生的大量数据尤其是非结构化数据中,如何快速查找到对企业内部有用的信息,几乎成为每个公司开始关注的重点。


Elasticsearch 在实现全文检索的过程中,首先要确定分词器,Es 默认有很多分词器。一般中文分词器使用第三方的 ik 分词器、mmsegf 分词器和 paoding 分词器,最初构建于 lucene,后来移植于 Es。目前在最新版的 Es 中,使用的是 ik 分词器。UES 已经内置安装了 ik 分词器,并且支持自定义分词词库。


当用户产生大量的文本数据时,Es 均会将其进行分词并将这些词语保存在索引中,只需输入关键词进行查询,索引就能起到作用,查找对应的相同查询词,从而实现全文检索。全文检索的架构设计如下图:



其中,Elasticsearch 服务端进行数据索引存储,Server 提供检索接口,浏览器端负责数据渲染和界面呈现。

传统数据库替代

随着 Elasticsearch 技术的发展,使得 Es 已经超越了其最初的纯搜索引擎角色,新增了数据聚合分析和可视化的特性。如果遇到千万级数量的文档需要通过关键词进行检索时,Es 可能是不错选择。当然,如果文档格式是 Json 的,也可以把 Es 当作一种 NoSQL 数据库,对数据进行多维度的分析。


Elasticsearch 是可以支持持久存储、统计等多项功能的现代搜索引擎,这种特性也决定了某些场景下 Es 可以作为主要的后端服务存储。Es 替代传统 DB 的前提是业务不对操作的事务性有特殊要求,由于 Es 的权限管理并不是特别完善,所以只把 Es 作为内部存储是可以替代传统数据库的。


还有一种场景:在一个已经运行了很长时间的复杂系统中添加检索服务。一种非常冒险的方法是重构系统以支持使用 Es,而相对安全的方法是将 Es 作为新的组件添加到现有系统中。



如图所示的 MySQL 数据库和 Es 集群存储,需要找到一种方式使得两存储之间实时同步,例如 logstash-input-jdbc 插件。


其实 Elasticsearch 的应用场景远不止这些,只有不断尝试,接触新的应用场景,我们才有机会获得更好解决方案的经验。UES 作为一款平台产品推出,旨在应用到客户广泛的业务场景中,例如:


  • 数据分析场景:分析网址、移动设备、服务器等非结构化和半结构化日志,分析传统数据库中数据,用于错误排查、应用程序监控、欺诈检测、游戏、广告等;

  • 全文搜索场景:电商、O2O、企业等行业的搜索与导航服务;

  • 实时统计分析场景:应用程序、用户点击等实时统计分析;

  • 分布式文档处理场景:对 Json 支持友好,支持地理位置查询。


UES 可以实现集群化的快速部署,极大降低人力运维成本。多种节点类型的提供、灵活的计费方式、支持业务动态扩容,此外集群丰富的预装插件和监控指标为用户集群使用功能和数据安全保驾护航。


本文转载自公众号 UCloud 技术(ID:ucloud_tech)。


原文链接:


https://mp.weixin.qq.com/s/IsmHN7RYzNjqjGywjWAX9w


2019-11-12 14:52744

评论

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

解决大数据分布式计算痛点:腾讯正式开源分布式远程Shuffle服务Firestorm

科技热闻

如何巧妙使用Camtasia库中的素材?

淋雨

Camtasia

共筑数据库未来 | 2021 OceanBase 原生分布式数据库论坛回顾

OceanBase 数据库

开源 分布式 #数据库 云栖大会 圆桌论坛

杨传辉:深挖 OceanBase 背后的技术逻辑,助力数据库核心系统升级

OceanBase 数据库

数据库 开源 分布式 数字化转型 核心系统

新赛季集结!“百度AI创意派”正在寻找有创意的你

科技热闻

浪潮云说丨GPU云服务器,助力AI计划轻松实现

浪潮云

云计算

OceanBase 创始人阳振坤 | 十余年打磨 国产数据库之路砥砺前行

OceanBase 数据库

数据库 开发者 趋势 1024 CSDN

git submodule 添加/删除

webrtc developer

互联网+质量基础设施服务平台,NQI一站式服务平台搭建

电微13828808271

CVE-2017-10271漏洞复现与分析

喀拉峻

网络安全 信息安全 渗透测试

腾讯架构师推荐架构电子书:多线程+JVM+Nginx+Redis+SpringBoot

nginx redis 程序员 Spring Boot JVM

开源项目|Go 开发的一款分布式唯一 ID 生成系统

AlwaysBeta

golang 开源 Go 语言

京东三面(后端)凭借这份Java面试复盘手册,已斩获60K*15offer

Java spring 程序员 算法 JVM

“你好,天津”网络短视频大赛月内启动

InfoQ 天津

腾讯大数据全场景在离线混部系统Caelus正式开源

科技热闻

OceanBase 3.2 正式发布 | 更硬核的 HTAP,TPC-H 性能提升6倍!

OceanBase 数据库

数据库 分布式 云栖大会 核心系统 一体化架构

融合通信技术趋势和演进方向

网易云信

云通信 通信云 传输协议

OpenMLDB v0.3.0 正式发布,支持快速部署使用的单机模式

第四范式开发者社区

开源 第四范式 OpenMLDB

个人项目管理软件解决方案

低代码小观

项目管理 管理系统 企业管理系统 项目管理工具 企业管理工具

周傲英:替代工程只是契机,转型升级才是大势所驱

OceanBase 数据库

数据库 开源 数字化转型 云栖大会

出自清华大牛之手的Redis源码核心手册,已被列为GitHub首推书籍

Java redis 编程 程序员

12 高可用的应用,微众银行java面试

Java 程序员 后端

Cube 技术解读 | 详解「支付宝」全新的卡片技术栈

蚂蚁集团移动开发平台 mPaaS

大前端 支付宝 移动开发 mPaaS cube

长隆熊猫酒店联合番禺消防大队开展“我是小小消防员”活动

江湖老铁

SAP x EMQ 碳中和方案亮相进博会,数据基础设施支撑低碳发展

EMQ映云科技

物联网 IoT mqtt 进博会 SAP

杨冰:OceanBase助力数字化转型,原生分布式数据库成核心系统首选

OceanBase 数据库

数据库 开源 分布式 云栖大会 核心系统

如果明天交任务,自己做今晚能完成,而让下属做需要一周时间,怎么办?

石云升

职场经验 11月日更

“初雪”与“向量化” | StarRocks Hacker Meetup 小记

StarRocks

数据库 大数据

Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞

CODING DevOps

Linux Nocalhost Meetup CDF

Python代码阅读(第55篇):获取字典的所有键或所有值的列表

Felix

Python 编程 阅读代码 字典 Python初学者

加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布

OceanBase 数据库

数据库 开源 开发者 成绩单 DTCC

UCloud Elasticsearch服务UES应用场景分析_文化 & 方法_陈晓杰_InfoQ精选文章