随笔分类 -  数据检索

摘要:MYSQL 同步到ES 如何设计架构保持一致性简单使用某个组件很容易,但是一旦要搬到生产上就要考虑各种各样的异常,保证你方案的可靠性,可恢复性就是我们需要思考的问题。今天来聊聊我们部门在 MYSQL 同步到ES的方案设计。 在面对复杂条件查询时,MYSQL往往显得力不从心,一般公司的做法会通过将mysql中的数据同步到ES,之后的查询就通过ES 阅读全文
posted @ 2024-03-21 15:59 蓝胖子的编程梦 阅读(920) 评论(3) 推荐(0) 编辑
摘要:为什么延迟删除可以保证MYSQL 与redis的一致性?看过很多保持MYSQL 与redis保持一致性的文章都提到了延迟删除,其实脱离任何业务场景的设计都是不切实际的,所以我会本着一个通用的读写场景去分析为什么延迟删除大概率可以保证MYSQL与redis的最终一致。 通常的读写场景 通常在使用redis作为读写缓存时,我们采用的是cache aside 阅读全文
posted @ 2024-03-20 11:44 蓝胖子的编程梦 阅读(770) 评论(4) 推荐(2) 编辑
摘要:🚀🚀🚀Elasticsearch 主副分片切换过程中对业务写入有影响吗theme: condensed-night-purple highlight: atom-one-dark 🍊🍉🍋 先说下结论,只要集群中的工作节点过半,有候选的master节点,挂掉的节点中不同时包含索引的主分片和副分片,那么ES是可以做到让业务无感知的进行主副分片切换的。 蓝胖子会先讲解 阅读全文
posted @ 2024-03-16 00:36 蓝胖子的编程梦 阅读(256) 评论(0) 推荐(2) 编辑
摘要:MYSQL 是如何保证binlog 和redo log同时提交的?MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性。 先来看看什么是redo log 和binlog,以及为什么要保持它们的一致性。 什么是redo log,binlog redo log是innodb引 阅读全文
posted @ 2024-03-14 13:03 蓝胖子的编程梦 阅读(434) 评论(0) 推荐(1) 编辑
摘要:MYSQL 主从不一致的原因分析数据库作为存储数据的组件,数据的一致性一定是要保证的前提,今天给出两个场景来分析数据不一致的原因。 binlog同步模式导致主从不一致 在MYSQL 中主库向从库同步数据是利用binlog记录修改操作,然后将binlog传递给从库进行复制,binlog的格式有3种, row 在对update,del 阅读全文
posted @ 2024-03-13 15:21 蓝胖子的编程梦 阅读(580) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch 如何保证写入过程中不丢失数据的丢失数据的本质 在本文开始前,首先明白一个点,平时我们说的组件数据不丢失究竟是在指什么,如果你往ES写入数据,ES返回给你写入错误,这个不算数据丢失。如果你往ES写入数据,ES返回给你成功,但是后续因为ES节点重启或宕机导致写入的数据不见了,这个才叫数据丢失。 简而言之,丢失数据的本质是ES本身搞丢 阅读全文
posted @ 2024-03-12 18:24 蓝胖子的编程梦 阅读(744) 评论(2) 推荐(2) 编辑
摘要:如何避免MYSQL主从延迟带来的读写问题?在MYSQL 部署架构选型上,许多公司都会用到主从读写分离的架构,如下是一个一主一从的架构,主库master负责写入,从库slave进行读取。 但是既然是读写分离,必然会面临这样一个问题,当在主库上进行更新后,有可能数据还没来得及同步到从库,但是这个时候又有读数据的需求,为了能正确读取出数据,这个时 阅读全文
posted @ 2024-03-08 17:37 蓝胖子的编程梦 阅读(1361) 评论(0) 推荐(7) 编辑
摘要:从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch 慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类型内部是如何工作,比如比较复杂的查询是将一个大查询分解成了小查询,然后通过对小查询的结果进行合并得到 阅读全文
posted @ 2023-12-12 15:45 蓝胖子的编程梦 阅读(388) 评论(0) 推荐(0) 编辑
摘要:从根上理解elasticsearch(lucene)查询原理(1)-lucece查询逻辑介绍大家好,我是蓝胖子,最近在做一些elasticsearch 慢查询优化的事情,通常用分析elasticsearch 慢查询的时候可以通过profile api 去分析,分析结果显示的底层lucene在搜索过程中使用到的函数调用。所以要想彻底弄懂elasticsearch慢查询的原因,还必须将luce 阅读全文
posted @ 2023-12-08 17:38 蓝胖子的编程梦 阅读(513) 评论(0) 推荐(0) 编辑
摘要:mysql group by 执行原理及千万级别count 查询优化大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下自己优化过程中的心得。 优化慢sql前,肯定是要懂sql的查询逻辑,所以我先介绍下g 阅读全文
posted @ 2023-11-17 17:31 蓝胖子的编程梦 阅读(2965) 评论(2) 推荐(6) 编辑
摘要:> 大家好,我是蓝胖子,前段时间线上elasticsearch集群遇到多次wildcard产生的性能问题, elasticsearch wildcard 一直是容易引发elasticsearch 容易宕机的一个风险点, 但究竟它为何消耗cpu呢?又该如何理解elasticsearch profile 阅读全文
posted @ 2023-09-05 14:21 蓝胖子的编程梦 阅读(760) 评论(0) 推荐(1) 编辑
摘要:mysql 大表如何ddl 👑大家好,我是蓝胖子,mysql对大表(千万级数据)的ddl语句,在生产上执行时一定要千万小心,一不小心就有可能造成业务阻塞,数据库io和cpu飙高的情况。今天我们就来看看如何针对大表执行ddl语句。 通过这篇文章,你能了解到下面的知识点, ![Pasted image 20230831165346. 阅读全文
posted @ 2023-09-04 10:35 蓝胖子的编程梦 阅读(1224) 评论(0) 推荐(5) 编辑
摘要:甩出11张图-让我们来构想(实现)一个倒排索引甩出11张图-让我们来构想(实现)一个倒排索引 数据检索系列文章 倒排索引的简介 在介绍倒排索引之前,先看看传统b+tree索引是如何存储数据的,每次新增数据的时候,b+tree就会往自身节点上添加上新增数据的key值,如果节点达到了分裂的条件,那么还会将一个节点分裂成两个节点。 想一个场景,如果对 阅读全文
posted @ 2023-03-23 13:56 蓝胖子的编程梦 阅读(589) 评论(0) 推荐(2) 编辑
摘要:疯一样的向自己发问 - 剖析lsm 索引原理 lsm简析 lsm 更像是一种设计索引的思想。它把数据分为两个部分,一部分放在内存里,一部分是存放在磁盘上,内存里面的数据检索方式可以利用红黑树,跳表这种时间复杂度低的数据结构进行检索。 而当内存数据到达一定阀值的时候则会将数据同步到一个新的磁盘文件上。 阅读全文
posted @ 2023-03-20 14:01 蓝胖子的编程梦 阅读(197) 评论(0) 推荐(2) 编辑
摘要:看了还不懂b+tree的本质就来打我看了还不懂b+tree的本质就来打我 数据检索系列视频 大家好,我是蓝胖子。 今天我们来看看b+tree这种数据结构,我们知道数据库的索引就是由b+tree实现,那么这种结构究竟为什么适合磁盘呢,它又有哪些缺点呢? 我将不会对b+tree的一些定义做过多的讲解,因为这些东西网上一大推,关键还是要抓住 阅读全文
posted @ 2023-03-13 11:06 蓝胖子的编程梦 阅读(1491) 评论(7) 推荐(7) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示