探索Doris:日志分析的新宠,是否能取代老牌ES?

在大数据时代,日志存储与分析对于企业的运营和决策起着至关重要的作用。Elasticsearch(简称 ES)作为一款广泛应用的开源分布式搜索和分析引擎,长期以来在日志管理领域占据着举足轻重的地位。然而,随着技术的不断发展,新的解决方案层出不穷,其中Apache Doris 凭借其卓越特性,在日志存储与分析领域迅速崛起,引发业界热议:Doris 是否会成为新一代王者,取代传统的 Elasticsearch(ES)?

1.ES在日志存储与分析中的现状

ES 凭借其强大的全文搜索功能、高扩展性和灵活的架构,成为了众多企业处理日志数据的首选。它能够快速索引海量日志,使得用户可以通过简单的查询语句,在秒级甚至毫秒级内获取到所需的日志信息。同时,ES 与 Kibana 等可视化工具的紧密集成,为用户提供了直观、便捷的日志分析界面,方便用户进行数据探索、监控和告警。

例如,在互联网公司的运维场景中,ES 可以收集来自各个服务器、应用程序的日志,运维人员通过 ES 的搜索功能,能够迅速定位系统故障时的关键日志信息,从而快速解决问题,保障服务的稳定性。在金融行业,ES 用于分析交易日志,帮助金融机构监测异常交易行为,防范风险。

2.Doris的崛起与特点

Apache Doris 是一款基于 MPP(大规模并行处理)架构的高性能分析型数据库。它专为海量数据分析场景设计,在日志存储与分析方面展现出了诸多令人瞩目的特点。

1.极速查询性能

Doris 采用了向量化执行引擎和高效的存储格式,能够对大规模日志数据进行快速扫描和计算。在复杂查询场景下,Doris 的性能优势尤为明显。例如,当需要对数十亿条日志记录进行多维度分析时,Doris 能够在极短的时间内返回结果,相比传统的数据库和部分分析引擎,查询速度提升了数倍甚至数十倍。这种极速的查询性能,使得运维人员和数据分析人员能够实时获取日志分析结果,及时做出决策。

2.简单易用

Doris 提供了标准的 SQL 接口,对于熟悉 SQL 语言的开发人员和数据分析师来说,几乎没有学习成本。用户可以使用他们熟悉的 SQL 语法进行日志数据的查询和分析,无需学习复杂的查询语法和工具。同时,Doris 的部署和管理也相对简单,降低了企业在技术运维方面的成本和难度。例如,企业只需按照简单的安装步骤,即可快速搭建起 Doris 集群,投入日志分析工作。

3.高扩展性

Doris 的分布式架构支持水平扩展,企业可以根据日志数据量的增长情况,灵活地添加节点来提升系统的存储和计算能力。在面对日志数据量爆发式增长的情况下,Doris 能够轻松应对,保障系统性能不受影响。而且,Doris 在扩展过程中,数据的均衡分布和负载均衡机制能够自动完成,无需人工过多干预,大大提高了系统的可维护性。

3.Doris替换ES进行日志存储与分析的优势

1.成本效益

从硬件成本来看,ES 在处理大规模日志数据时,由于其索引结构和存储方式的特点,往往需要较多的内存和磁盘空间来存储索引数据。而 Doris 以其高效的存储格式,能够在相同的数据量下,占用更少的硬件资源,降低了企业的硬件采购成本。在运维成本方面,Doris 简单易用的特性使得运维人员无需花费大量时间进行复杂的配置和维护工作,减少了人力成本的投入。

2.实时分析能力

日志数据的价值在于实时性,企业需要及时从日志中获取有价值的信息,以便做出快速响应。Doris 的极速查询性能使得它在实时分析日志数据方面表现出色。与 ES 相比,Doris 能够更快地对新写入的日志数据进行分析,为企业提供更及时的决策支持。例如,在电商促销活动期间,企业可以通过 Doris 实时分析用户行为日志,及时调整营销策略,提高销售转化率。

3.数据融合与分析

在实际业务场景中,企业往往需要将日志数据与其他业务数据进行融合分析,以获取更全面的洞察。Doris 作为一款分析型数据库,能够很好地与企业现有的数据仓库、业务数据库等进行集成,方便用户在同一平台上对多种类型的数据进行统一分析。而 ES 主要专注于日志搜索和简单的分析,在数据融合方面相对较弱。

4.案例见证

腾讯音乐:存储成本大瘦身,性能飙升

腾讯音乐拥有海量的音乐内容数据,原先采用 Elasticsearch 与 Doris 的混合架构,前者负责全文检索和标签圈选,后者专注 OLAP 分析。但随着数据量增长,Elasticsearch 存储空间占用大、写入性能受限等问题凸显,混合架构还导致维护成本增加与数据不一致风险。鉴于 Doris 自 2.0 版本起支持倒排索引和全文检索,腾讯音乐将架构统一为 Doris。升级后效果立竿见影,存储成本大幅降低 80%,如某表单日全量数据在 Elasticsearch 需 697.7GB 空间,在 Doris 仅需 195.4GB 。全量数据导入时间从超 10 小时缩至 3 小时内,写入性能提升至 Elasticsearch 的 4 倍,还支持复杂自定义标签计算,极大改善用户体验。

科大讯飞:查询效率飞跃,成本显著降低

科大讯飞的星迹日志中心,起初基于 Elasticsearch 搭建日志处理架构,随着日志数据迅猛增长,CPU 占用高、存储成本高、稳定性差等问题接踵而至。后来尝试采用基于 Grafana Loki 的轻量化架构,依然存在 CPU 使用率高、查询分析效率低等状况。最终,科大讯飞引入 Apache Doris 作为可观测性存储底座。Doris 展现出强大实力,可支撑日均 600 亿条、10TB 的写入流量,与 Elasticsearch 相比,存储成本降至其六分之一,查询效率至少提升 10 倍,尤其是在聚合分析、短语模糊匹配及 topn 命中前缀索引等场景下表现卓越。借助 Doris Manager,集群管理变得便捷轻松,系统还提供 Grafana 和自研 web 查询界面,方便用户进行日志检索与分析。

中信银行:借 Doris 之力,打破 ES 日志处理困境

中信银行信用卡中心每日新增日志达 140 亿条、约 80TB,全量归档超 40PB。早期基于 Elasticsearch 的日志云平台,在数据量激增时,存储成本高、写入慢、检索缓,难满足复杂业务需求。引入 Apache Doris 后,局面扭转。Doris 每日稳定处理百 TB 级日志写入,延迟 1 秒内,支持 PB 级存储,较 ES 存储成本降 60%-80%,还能将冷数据存至低成本介质。在日志检索上,常见查询可秒级响应,具备强大的检索、聚合等分析能力。

5.结语

Apache Doris 凭借其在查询性能、易用性、扩展性以及成本效益等方面的优势,在日志存储与分析领域展现出了强大的竞争力,为企业提供了一种替换 ES 的可行选择。当然,ES 也在不断发展和完善,在某些特定场景下仍然具有不可替代的价值。但无论如何,Doris 的出现为企业的日志管理带来了新的思路和解决方案,促使我们重新审视和优化日志存储与分析的架构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习threejs,使用Texture纹理贴图,测试repeat重复纹理贴图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️Texture 纹理贴图1.1.1 ☘️…

图像配准及识别

一、图像配准基础 图像配准,听起来很高大上,其实用大白话来说,就是“让两张照片对齐”的技术。想象一下,你有两张拍得不完全一样的照片,比如一张是你从正面拍的风景,另一张是从侧面拍的同一个地方&#xff…

QT之QML(简单示例)

需求一:点击按钮弹出菜单,并且自定义菜单弹出位置。 mouse.x 和 mouse.y 获取的是相对于 MouseArea(在这个例子中是 Button)左上角的局部坐标。如果你想要在鼠标点击位置显示 Menu,你需要将这个局部坐标转换为相对于应…

如何编写单元测试

一、前言知识 1.开发过程 需求分析->设计->开发->测试->上线 2.测试种类 单元测试(测试模块编码)、黑盒测试(测试功能是否满足需求)、白盒测试(测试程序内部的逻辑结构)、回归测试(提出的缺陷进行二次验证)、集成测试(测试主要的业务功能及模块间的整合性)、系…

LeetCode 解题思路 30(Hot 100)

解题思路: 递归参数: 生成括号的对数 n、结果集 result、当前路径 path、左括号数 open、右括号数 close。递归过程: 当当前路径 path 的长度等于 n * 2 时,说明已经生成有效括号,加入结果集。若左括号数小于 n&…

【Golang】Windows系统键鼠空闲监测练习

在本文中,我们将练习如何使用Golang编写一个简单的Windows系统空闲时间监测工具。该工具能够检测系统的空闲时间,并在达到一定阈值时计数。 功能概述 监控鼠标和键盘的空闲事件,每空闲超过50s,触发次数加一。 该工具具有以下功…

关于React Redux

官网:👉详情一 👉详情二 👉关于redux 使用原因:👉详情 /** 2-1、随着javascript单页应用程序的发展,需要在代码中管理更多的状态(包括服务器响应数据、缓存数据、本地创建还未发送…

MySQL和Oracle批量插入SQL差异详解

文章目录 MySQL和Oracle批量插入SQL差异详解1. 基本批量插入语法1.1 MySQL批量插入1.2 Oracle批量插入 2. 带序列的批量插入2.1 MySQL带自增ID的批量插入2.2 Oracle带序列的批量插入 3. 条件批量插入3.1 MySQL条件批量插入3.2 Oracle条件批量插入 MySQL和Oracle批量插入SQL差异…

43页可编辑PPT | 大数据管理中心设计规划方案大数据中心组织架构大数据组织管理

这份文档是一份关于大数据管理中心规划设计方案的详细报告,涵盖了背景与需求分析、整体规划方案、关键能力实现方案以及实施方案等内容。报告强调大数据在城市治理中的重要性,提出通过构建统一的大数据平台,整合城市各部门数据资源&#xff0…

Python-八股总结

目录 1 python 垃圾处理机制2 yield3 python 多继承,两个父类有同名方法怎么办?4 python 多线程/多进程/协程4.1 多线程与GIL全局解释器锁4.2 多进程4.3 协程 5 乐观锁/悲观锁6 基本数据结构**1. 列表(List)****2. 元组&#xff0…

HTML 标签类型全面介绍

HTML 标签类型全面介绍 HTML(HyperText Markup Language)是构建 Web 页面结构的基础语言。HTML 由不同类型的标签组成,每种标签都有特定的用途。本文将全面介绍 HTML 标签的分类及其用法。 1. HTML 标签概述 HTML 标签通常成对出现&#xf…

vscode中的【粘滞滚动】的基本概念和作用,关闭了以后如何开启

1、粘滞滚动的基本概念和作用 ‌VSCode中的“粘滞”功能主要是指编辑器在滚动时的一种特殊效果,使得编辑器在滚动到某个位置时会“粘”在那里,而不是平滑滚动到底部或顶部。‌ 粘滞滚动的基本概念和作用 粘滞滚动功能可以让用户在滚动时更直观地看到当前…

【商城实战(101)】电商未来已来:新技术引领商城发展新航向

【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配,乃至运营推广策略,102 章内容层层递进。无论是想…

深度学习Note.5(机器学习.6)

1.Runner类 一个任务应用机器学习方法流程: 数据集构建 模型构建 损失函数定义 优化器 模型训练 模型评价 模型预测 所以根据以上,我们把机器学习模型基本要素封装成一个Runner类(加上模型保存、模型加载等功能。) Runne…

linux服务器专题1------redis的安装及简单配置

在 linux上安装 Redis 可以按照以下步骤进行(此处用Ubuntu 服务器进行讲解): 步骤 1: 更新系统包 打开终端并运行以下命令以确保你的系统是最新的: sudo apt update sudo apt upgrade步骤 2: 安装 Redis 使用 apt 包管理器安装 Redis: s…

面试问题总结:qt工程师/c++工程师

C 语言相关问题答案 面试问题总结:qt工程师/c工程师 C 语言相关问题答案 目录基础语法与特性内存管理预处理与编译 C 相关问题答案面向对象编程模板与泛型编程STL 标准模板库 Qt 相关问题答案Qt 基础与信号槽机制Qt 界面设计与布局管理Qt 多线程与并发编程 目录 基础…

实现实时数据推送:SpringBoot中SSE接口的两种方法

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

LXC 导入多Linux系统

前提要求 ubuntu下安装lxd 参考Rockylinux下安装lxd 参考LXC 源替换参考LXC 容器端口发布参考LXC webui 管理<

ES的文档更新机制

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 Java技术小馆官网https://www.yuque.com/jtostring ES的文档更新机制 在现代应用中&#xff0c;数据的动态性越来越强&#xff0c;我们不仅需要快…

trae.ai 编辑器:前端开发者的智能效率革命

一、为什么我们需要更智能的编辑器&#xff1f; 作为从业5年的前端开发者&#xff0c;我使用过从Sublime到VSCode的各种编辑器。但随着现代前端技术的复杂度爆炸式增长&#xff08;想想一个React组件可能涉及JSX、CSS-in-JS、TypeScript和GraphQL&#xff09;&#xff0c;传统…