title: MySQL MVCC 原理机制 date: 2019-04-17 23:37:00 tags:MySQLMVCCundo logMySQL MVCC 原理机制什么是 MVCCMVCC (Multiversion Concurrency Control) 中文全程叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段
MySQL是程序员面试必问题目点之一,因为 MySQL 几乎占据了数据库的半壁江山。数据库的核心与原理基本是相通的,所以有了 MySQL 的基础之后,再去熟悉其他数据库也是非常快的,那么让我们一起来了解一下MySQLMySQL 有很多存储引擎(也叫数据引擎),所谓的存储引擎是指用于存储、处理和保护数据的核心服务。也就是存储引擎是数据库的底层软件组织。在 MySQL 中可以使用“show eng
转载 2023-08-02 13:09:55
42阅读
基本概念MySQL 事务主要用于处理操作量大,复杂度高的数据。银行转账是经典的解释事务的例子。用户A给用户B转账5000元主要步骤可以概括为如下两步。   第一,账户A账户减去5000元;   第二,账户B账户增加5000元;   这两步要么成功,要么全不成功,否则都会导致数据不一致。这就可以用到事务来保证,如果是不同银行之间的转账还需要用到分布式事务。事务的特性(ACID)(1)在 MySQL
前言面试官:同学,你能说说Mysql 缓存池吗?是CPP啊:啊,这么难吗,容我组织一下语言。(内心OS:这TM还不简单?我能给你扯半小时!)面试官:可以,给你一分钟时间想一想吧。....一分钟后....是CPP啊:我准备好了,你可听好,我要开始表演了。为什么要有缓存池?MySQL 的 innodb 存储引擎是基于磁盘存储的,并且是按照页的方式进行管理的。在数据库系统中,CPU 速度与磁盘速度之间的
许多面试过开发岗位的小伙伴都知道,“缓存和数据库的双写一致性”是面试的重灾区,我们经常会面对面试官的redis连环提问。本期小树懒来给大家总结一下缓存和数据库一致性相关的面试题,让大家在面试时不再“无话可说”。一、什么是缓存?存储速度不同。缓存是将低速存储的结果暂时存储在高速存储中的技术。如图所示,金字塔上的存储可以作为下面存储的缓存。二、为什么需要缓存?在高并发性的业务场景中,数据库大多是用户并
面试题es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?面试官心理分析问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么,那你真的是......对 es 基本就是个黑盒,你还能干啥?你唯一能干的就是用 es 的 api
转载 2024-05-21 20:48:02
31阅读
问题:CAP是什么意思,问什么只能满足两个?分布式系统最大的难点就是各个节点的状态
转载 2023-01-06 15:51:26
90阅读
# Docker原理面试实现流程 ## 整体流程 首先我们需要了解Docker的原理以及涉及到的相关概念,然后通过实际操作来掌握如何实现“Docker原理面试”。 ### 相关概念 - Docker:一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。 - 镜像(Image):Docker镜像是一个只读的模板,用于创建Docker容器,包含了运行环境和所需的软
原创 2024-04-24 03:33:20
21阅读
1. 事务的基本原理Spring事务的本质其实就是数据库对事务的支持,使用JDB
版权声明:本文为博主原创文章,未经博主允许不得转载。 ·
1、为什么要用 Dubbo?随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。2、Dubbo 的整体架构设计有哪些分层?接口服
1、为什么要用redis做缓存? 高性能: 假如用户第一次访问数据库中的某些数据,是从硬盘上读取的,速度比较慢。将这些数据存在缓存中,下次直接从缓存中取,速度很快,操作缓存就是直接操作内存。 高并发: 直接操作缓存能够承受的请求远远大于直接访问数据库。考虑将数据库中的部分数据转移到缓存中,这样用户的一部分请求会直接到缓存而不用经过数据库。2、Redis的两种持久化方式? 1)为什么要配持久化? 因
转载 2023-12-27 15:30:55
157阅读
Spring AOP ,应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让印象更加深刻,面试的时候游刃有余。Spring AOP 原理简单说说 AOP 的设计:每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。每个 Bean 会有多个“方法拦截器”。注意:拦截器分为两层,外层由 Spring 内核控制流程,内层拦截器
转载 2024-06-12 14:52:45
48阅读
1、什么是JVM?  答:JVM是Java Virual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,他是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,时Java程序只需生成在Java虚拟机上运行的字节码,就可以在多
转载 2023-08-10 14:11:23
106阅读
题目1.谈谈Spring IOC的理解,原理与实现。 2.谈一下spring IOC的底层实现。 3.描述一下bean的声明周期。 4.Spring是如何解决循环依赖的问题的? 5.Bean Factory 与FactoryBean有什么区别? 6.Spring中用的设计模式? 7.Spring的AOP的底层实现原理。 8.Spring的事务是如何回滚的。 9.谈一下spring事务传播。答题技巧
转载 2024-03-21 01:05:15
67阅读
1. 全方位剖析 MySQL 事务原子性、持久性、一致性实现原理 2. 大厂面试必问:MySQL事务隔离级原理 3.详解 MySQL 事务日志 Undo Log 和 Redo Log 4.谈谈你对 MySQL 的 理解 原子性:主要依靠undo.log日志实现,即在事务失败时执行回滚。undo.log日志会记录事务执行的sql,当事务需要回滚时,通过反向补偿回滚数据库状态持久性:主要依靠redo
原创 2021-08-10 10:18:41
260阅读
1.drop,delete与truncate的区别相同点: truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:truncate会清除表数据并重置id从1开始,delete就只删除记录,drop可以用来删除表或数据库并且将表所占用的空间全部释放truncate和delete只删除数据不删除表的结构。drop语句将删除表的结构被依赖的约(constrain),触
转载 2024-07-25 16:13:43
10阅读
细品mysql的事务隔离机制背景既然聊的是Mysql事务的隔离机制,那在这里我们就默认mysql使用的是InnoDB引擎。事务这个词也还算抽象,在这里我就把大家当做大黄鸭,都细细的聊一边。为什么MYSQL数据库需要事务在回答这个问题之前,先分析一下问题,数据库:也可以称为数据管理系统,存储数据的一个系统,将我们所需要的数据进行持久化存储,再着就是事务:这本就是一个抽象的概念,我在这里把他描述为一个
HashMap底层原理(自身体会)面试必问hashMap原理 面试必问hashMap原理1、ArrayList底层是基于动态数组的:查询快,增删改慢;2、LinkedList底层是基于双向链表的:查询慢,增删改快;3、有没有一种查询和增删改比较平衡的方式: hash结构=数组+单向链表4、hashMap底层就是采用的这种hash结构;5、hashMap类里边包含属性:Entry[] tables
转载 2023-09-20 07:07:17
68阅读
1、请你谈谈 HashMap 的工作原理如果被问到 HashMap 相关的问题,它的工作原理都会被作为面试的开场白,这个时候先装作若有所思的样子冷静一下。首先 HashMap 是基于 hashing 的原理,我们知道 HashMap 有两个常用的方法 put()、get(),将键值对传递给 put() 方法时,它调用键对象的 hashCode() 方法来计算 hashcode,然后找到 bucke
转载 2023-09-26 17:21:43
49阅读
  • 1
  • 2
  • 3
  • 4
  • 5