“ ACID 事务底层内部实现原理”Hello,大家好。今天是周二(2020-03-24),还是那句俗语 “一日之计在于晨” ,因此分享给大家的是 「mysql 模块」- ACID 内部实现原理。想必在 mysql 中,事务大家一定不陌生,但是我估计了解最多的是它 ACID 的表名特性含义吧。事务,我们想要达到什么结果呢?无非不就是 可靠性 与 并发 处理。今天就让我            
                
         
            
            
            
            QQ音乐个性化业务搜索架构之MySQL-InnoDB缓冲池核心原理分析1.简介innodb缓冲池是innodb存储引擎主要的一部分内容, 用在数据库数据处理中, 缓冲池在改善性能方面扮演着很重要的角色, 为了保证性能, innodb 维护了自己的缓冲池。2.缓冲池的组成部分?innodb由数据页、索引页、自适应哈希、重做日志缓冲、锁信息、写缓冲、额外缓冲池等内容。作用:缓存磁盘数据;方便快速读取;            
                
         
            
            
            
            java io体系 如图可以看出,java的io按照包来划分的话可以分为三大块:io、nio、aio,但是从使用角度来看,这三块其实揉杂在一起的,下边我们先来概述下这三块:io:主要包含字符流和字节流,我们常用的文件读写,流处理等都要用到,也是本次介绍的重点。jdk1.7之后的io底层部分类经已改为使用阻塞的nio实现了nio:jdk1.4后加入,多路非阻塞(多路IO复用模型),此外还实现了bu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-13 23:05:21
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MySQL的内部组件结构:大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-31 16:54:26
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 前言本章目标:了解构成MySQL数据库和InnoDB存储引擎的各种类型的文件。理解InnoDB存储引擎的内存结构和磁盘结构。2 文件MySQL数据库和InnoDB存储引擎的文件有参数文件、日志文件、socket文件、pid文件、表结构文件、存储引擎文件。下面将会对这些文件逐一介绍。参数文件告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 18:18:31
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            介绍join用于多表中字段之间的联系,语法如下...from table1 inner|left|right join table2 on...首先建表 1、inner join基于连接谓词将两张表的列组合在一起,产生新的结果表select * from user1 inner join user2 on user1.user_name=user2.user_name;2、left join从左表            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-11 19:31:19
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、概念1.1 数据库事务:简单的说事务就是一组原子性的SQL语句。可以将这组语句理解成一个工作单元,要么全部执行要么都不执行。默认MySQL中自动提交时开启的(start transaction)事务的ACID特性如下:原子性:事务中的所有操作要么全部提交成功,要么全部失败回滚。场景:UPDATE cs_user SET age = 18 , gender = '女' WHERE id = 4。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-13 16:52:49
                            
                                122阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言之前的学习也是为了让我们更好的理解GC,GC是我们学习Jvm的核心,因为我们后面的优化,为什么会出现oom,怎么调整堆空间的大小等等。GC算法第一种标记算法:引用计数法在对象中添加一个属性用于标记对象被引用的次数,每多一个其他对象引用,计数+1,当引用失效时,计数-1,如果计数=0,表示没有其他对象引用,就可以被回收。这个算法无法解决循环依赖的问题。比如A,B对象相互引用,这样就会计数增加,不            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 21:14:21
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1,redis有五种基本数据结构:string、hash、set、zset、list;底层redis是通过c语言来实现这w五种结构的,具体是如何实现的,我们具体看一下。2,SDS "simple dynamic string",redis中所有场景中出现的字符串,基本都是由SDS来实现的。非数字的key、字符串值类型、非字符串数据类型种的字符串值都是SDS实现的。实现方式: free:还剩多少空间            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 09:13:10
                            
                                62阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            iOS 底层探索篇 —— KVC 底层原理1. Method Swizzling的坑与应用1.1 method-swizzling 是什么?1.2 坑点坑点1:method-swizzling使用过程中的确保执行一次解决方案坑点2:子类没有实现,父类实现了解决方案坑点3:父类子类都没有实现解决方案class_replaceMethod, addMethod, method_exchangeImp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-03 23:21:56
                            
                                71阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            以往已经总结过Mysql底层实现上的一些细节,上一篇的文章也用通俗的语言说了一些自己对Mysql底层存储实现上的认识与理解。这篇文章就在原来的基础上来说一下基于redo、undo日志实现的数据安全存储、以及结合存储机制和版本链等技术对Mysql事务的实现。在文章中主要是分为两部分一个是redo、undo日志的结构、关键属性的相关计算,Mysql事务以及隔离级别实现的原理!1、redo block            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-05 11:44:20
                            
                                71阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MySQL索引背后的数据结构及算法原理一、定义索引定义:索引(Index)是帮助MySQL高效获取数据的数据结构。本质:索引是数据结构。二、B-Treem阶B-Tree满足以下条件:1、每个节点至多可以拥有m棵子树。2、根节点,只有至少有2个节点(要么极端情况,就是一棵树就一个根节点,单细胞生物,即是根,也是叶,也是树)。3、非根非叶的节点至少有的Ceil(m/2)个子树(Ceil表示向上取整,如            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-29 10:30:28
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            有关Mysql底层存储结构前面已经写过一篇文章,当然这文章主要是基于听爪哇课程之后做的笔记,过了一段时间之后有重新看一遍,就用通俗的话说一下自己对这一块的理解。文章导图:Mysql上 | ProcessOn免费在线作图,在线流程图,在线思维导图一、概述现在我们讨论的是Mysql的存储,通常我们是在cpu中处理数据,但是由于成本以及存储特性最终数据的保存又一定是要到磁盘的。CPU的运行速度与IO读取            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-11 15:56:11
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一、基础1. MySQL的核心是存储引擎2. InnoDB3. 一条sql语句在数据库框架中执行的流程:4. 查询语句前加explain来查看执行计划,相应优化;4.1执行计划:4.2查询性能的优化方法:4. 索引的分类:5. 索引失效情况分类:一、进阶1.主从复制中涉及到的三个线程 一、基础1. MySQL的核心是存储引擎主要存储引擎有:MyISAM,InnoDB,Memory,Arc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 08:39:11
                            
                                53阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            老生常谈的数据库引擎到底是Who?MySQL中的数据采用各种不同的技术存储在文件(或者内存)中。每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,我们能够获得额外的速度或者功能,从而改善喝提高应用的整体功能。当我们理解了引擎这个概念,就会知道提供各种不同引擎给你选择,然后用你选出来的引擎去处理sql语句MYSQL常用的四个数据库引擎:(1)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-30 09:23:03
                            
                                65阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MySQL底层大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-13 17:22:08
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Mysql的结构ClientServer 连接器->解析器->优化器->执行器存储引擎:不同的存放位置,有不同的文件格式 1)innoDB: 聚簇索引,索引和数据放在一起 .frm 存放的是表结构 .lbd存放的数据文件和索引 mysql的innodb存储引擎默认情况下会把所有的数据文件放到表空间,不会为每个表保存单独的数据文件 2)MyISAM: 非聚簇索引,数据和索引单独存放            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-25 15:24:03
                            
                                93阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              让我再深撸一次mysql吧,这次主要以应对面试来说说mysql,大概几个方向,索引结构,查询引擎,索引优化,explain的详解和trace工具的使用。索引:我们先来看一下mysql的B+tree,本文几乎都在围绕这个图来说的。mysql的底层是使用B+tree来存储数据的,和B+tree有一点点不同的是叶子节点是双向链表的结构,并不是图内的单向指针的。且null值放置在叶子节点的最前面。这个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-03 00:10:22
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            我们平时都是使用sql语句去查询数据,都是很直接的看到结果。那么对于sql底层执行的过程大家有了解吗?一、MySQL的内部组件结构大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数 (如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-13 12:02:13
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis底层数据结构  
 目标: 
 
    掌握Redis数据类型的底层数据结构 
  
    理解LRU 
  
    能够编写Redis事务处理,理解弱事务 
  理解Redis乐观锁及秒杀的实现 
 Redis内存模型 
  
      
 Redis内存统计 
 127.0.0.1:6379># Memoryinfo memory
#Red            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-17 19:50:08
                            
                                87阅读
                            
                                                                             
                 
                
                                
                    