MySQL用得好好的,为何要转ES?

MySQL是一种关系型数据库,它可以高效地存储和查询结构化的数据。

ES是一种分布式搜索引擎,它可以快速地对海量的非结构化或半结构化的数据进行全文检索和分析。

MySQL 和 ES 的数据存储方式也不同。MySQL 中的数据通常是以关系型表的形式存储在磁盘上,而 ES 中的数据则是以类似文档的形式存储在内存中。通过将 MySQL 数据同步到 ES,就可以将 MySQL 的关系型数据转化成 ES 的文档型数据,从而更好地适应 ES。

MySQL和ES的应用场景和优势各不相同,因此在选择使用哪种技术时,需要根据具体的业务需求和数据特点进行权衡。一般来说,如果数据主要是结构化的,且需要保证事务性、一致性和完整性,那么MySQL可能是更合适的选择。如果数据主要是非结构化或半结构化的,且需要支持复杂的搜索、聚合和分析功能,那么ES可能是更合适的选择。

当然,也有一些场景下,MySQL和ES可以同时使用,以实现最佳的性能和功能。例如,可以将MySQL作为主数据库,存储核心的业务数据,同时将部分数据同步到ES中,以提供更灵活的搜索和分析能力。

什么情况下 MySQL 需要换成 Elasticsearch?

  1. 全文搜索需求:当你需要对大量文本数据进行快速搜索时,Elasticsearch 的性能和能力都比 MySQL 要强。
  2. 日志分析:如果你需要对大量的日志或时间序列数据进行实时分析,Elasticsearch 更为合适。
  3. 大数据处理:Elasticsearch 适合处理 TB 到 PB 级别的大数据,并且提供快速的查询响应。
  4. 可扩展性:如果你的数据量正在快速增长,并且 MySQL 扩展变得困难,你可能会考虑使用 Elasticsearch。
  5. 实时数据处理:Elasticsearch 支持几乎实时的数据索引和查询。
  6. 复杂的数据可视化:Elasticsearch 配合 Kibana 可以提供强大的数据可视化工具

Elasticsearch 并不是 MySQL 的替代品,而是一个补充。在许多应用场景中,它们可以并存并一起工作,其中 MySQL 负责事务和关系数据存储,而 Elasticsearch 负责搜索和分析,通过将 MySQL 数据同步到 ES,可以方便地将分散在多个 MySQL 服务器中的数据统一管理和查询

我项目中的使用:
新版订单数据和老版订单数据mysql表不同,但是需要一起查询到前端页面,所以对核心数据在es中处理合并后,在提供分页查询能力

分库分表后的数据整合后进行统计分析

文档类数据的查询分析

用户画像,订单画像

评论数据根据各种标签或者关键词进行搜索

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

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

相关文章

PTA:百钱买百鸡 - C/C++ 数组及字符串

题目 我国古代数学家张丘建在《算经》一书中提出了下述数学问题: 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 请使用三重或者二重循环求解N块钱买N只鸡的问题:计算并…

EOCR-PFZ数码型产品与控制柜主回路的连接方式

上海韩施电气自动化设备有限公司 施耐德EOCR新一代数码型电动机保护器具有体积小、精度高、抗干扰能力强等特点。为方便安装,EOCR数码型产品与控制柜主回路的连接具有多种方式,分别是:窗口型、贯穿性和端子型。 窗口型(韩施电气…

vue3中shallowReactive与shallowRef

shallowReactive与shallowRef shallowReactive: 只处理了对象内最外层属性的响应式(也就是浅响应式) shallowRef: 只处理了value的响应式, 不进行对象的reactive处理 总结: reactive与ref实现的是深度响应式, 而shallowReactive与shallowRef是浅响应式。 什么时候用浅响应…

Leetcode.974 和可被 K 整除的子数组

题目链接 Leetcode.974 和可被 K 整除的子数组 rating : 1676 题目描述 给定一个整数数组 n u m s nums nums 和一个整数 k k k ,返回其中元素之和可被 k k k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1&…

Kafka的ACK应答级别

在 Kafka 中,ACK(Acknowledgement)应答级别是一个重要的概念,它决定了消息发送到 Kafka 集群后如何确认消息的成功存储。生产者可以根据需要设置不同的 ACK 级别,以在数据可靠性和传输效率之间做出权衡。以下是 Kafka …

万字解析设计模式之观察者模式、中介者模式、访问者模式

一、观察者模式 1.1概述 观察者模式是一种行为型设计模式,它允许一个对象(称为主题或可观察者)在其状态发生改变时,通知它的所有依赖对象(称为观察者)并自动更新它们。这种模式提供了一种松耦合的方式&…

47. QT Android针对Java代码常见接口类型的调用方式总结

1. 说明 在QT中提供了一个接口QAndroidJniObject,可以很方便的对java代码进行调用,但是QT提供的这个类使用起来也并不是很简单,需要根据不同的java接口形式传入不同的参数,比如说在java中定义了一个无参无返回值的接口和一个无参有返回值的接口,又或者定义的还有带参带返…

园区智能配电系统(电力智能监控系统)

园区智能配电系统是一种针对园区电力配送和管理的智能化系统。它的主要功能是实时监控设备运行情况,进行电能质量分析,监控电能损耗,以及分时段用电统计等。 具体来说,园区智能配电系统可以利用现代技术如RS-485总线通信、数据库管…

Android Studio 添加so无法打包进apk问题

1.开发环境: Android Studio 2022.3.1 Patch 2 jdk 17 gradle-7.4 2.build.grade配置检查 首先查看build.gradle中是否设置sourceSets ,如果设置的话,打包的时候so是被指导libs目录下的,所有就不能把jnilibs下。 sourceSets {mai…

计算机视觉面试题-03

1、简单介绍一下sigmoid,relu,softplus,tanh,RBF及其应用场景 这里简单介绍几个激活函数及其应用场景: Sigmoid 函数(Logistic 函数): 公式: s i g m a ( x ) 1 1 e …

硝烟弥漫的科技战场——GPT之战

没想到2023年的双11之后,还能看到如此多的科技圈大佬针对GPT提出火药味十足的讨论和极具戏剧性的表演。 历史回顾: 11月6日,OpenAI发布会:GPT-4 Turbo模型、GPT应用商店、开源Whisper-large-v3等;11月17日&#xff0…

.mallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

尊敬的读者: 随着科技的不断发展,互联网的普及,勒索病毒等网络安全威胁也逐渐成为用户和组织面临的严重问题之一。其中,.mallox勒索病毒以其高度破坏性和难以防范的特点引起了广泛关注。本文将介绍.mallox勒索病毒的基本情况&…

2023仿聚合搜索程序源码/轻量级搜狗泛站群程序源码/PHP整站源码+完美SEO优化+符合搜狗算法

源码简介: 2023仿聚合搜索/轻量级搜狗泛站群程序整站源码,作为PHP源码,可以完美SEO优化,符合搜狗搜索引擎算法。 轻量级的PHP搜狗泛站群程序源码,完美SEO优化符合搜狗搜索引擎算法,无需任何采集&#xff…

【Unity细节】为什么加载精灵图集直接导致Unity引擎崩溃

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

创建Dataloader基础篇【一】

概述 在transformers trainer训练、评估模型中,大致根据以下过程加载与处理训练、评估数据集: 使用dataset.Dataset加载数据使用Dataset.map与自定义的convert_examples_to_features函数处理Dataset中的每一行数据定义sampler,在迭代Datalo…

python 实现队列(类似栈实现,采用列表)

队列特点:先进先出 (栈特点:先进后出) 这里依托于 python中的列表,简单实现,由于列表的强大属性,实现循环队列,双队列也很简单,本例进行了一个大概的集中体现 主要实现&#xff0c…

牛客STL练习

链接:https://ac.nowcoder.com/acm/problem/14505 来源:牛客网 题目描述 现在给出一个正方形地图,其边长为n,地图上有的地方是空的,有的地方会有敌人。 我们现在有一次轰炸敌人的机会,轰炸敌人的区域是一个…

Oracle Linux 9.3 发布

导读Oracle Linux 9 系列发布了第 3 个版本更新,支持 64 位 Intel 和 AMD (x86_64) 以及 64 位 Arm (aarch64) 平台。与所有的 Oracle Linux 版本一样,此版本与相应 RHEL 版本 100% 应用二进制兼容。 对于 x86_64 和 aarch64 架构,Oracle Li…

数据结构与算法之贪心: LeetCode 455. 分饼干 (Typescript版)

分发饼干 https://leetcode.cn/problems/assign-cookies/ 描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最…

Android:从源码看FragmentManager如何工作

一个Activity中,在某一个容器中,更换不同的Fragment,从而显示不同的界面,这个场景相信大家已经非常熟悉了,也知道Activity是通过FragmentManager来管理嵌入的Fragments的,所以今天就来看看FragmentManager是…