首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《MySQL技术内幕:InnoDB存储引擎》读书笔记.

一、MySQL 体系架构和存储引擎 1、MySQL 被设计成一个单进程多线程架构数据库,MySQL 数据库实例在系统表现就是一个进程。...6、在某些设置下,MySQL 数据库允许非法或不正确数据插入或更新,如向 EUNM 约束中插入一个非法值,又或者可以在数据库内部将其转化为一个合法值,如向 NOT NULL 字段插入一个 NULL...总体来说,replication 工作原理分为以下三个步骤: 1)服务器(master)把数据更改记录到二进制日志(binlog)中; 2)服务器(slave)把服务器二进制日志复制到自己中继日志...(relay log)中; 3)服务器重做中继日志中日志,把更改应用到自己数据库,以达到数据最终一致性;(服务器有 2 个线程,一个是 I/O 线程,负责读取服务器二进制日志,并将其保存为中继日志...# 查看服务器中二进制日志状态 SHOW MASTER STATUS; # 查看服务器中二进制日志状态(主从服务器 binlog 日志偏移量,就可以得知 I/O 线程延迟) SHOW SLAVE

70420

openGauss与PostgreSQL对比

12.摒除recovery.conf文件 使用replconninfo配置备连接信息,application_name等相关配置并入postgresql.conf,简化流程,方便备进行来回切换,pg12...流复制也摒弃了recovery.conf文件。...并且当前版本高斯优化了列存表并发插入性能,解决了插入时一行数据占一个cu造成空间急剧膨胀问题。...16.NUMA架构优化 通过numa绑核,减少跨核内存访问时延问题,提升CPU利用率,提升多线程间同步性能,xlog日志批量插入,热点数据分散处理。...25.与一多备 除了支持一多备模式,也支持模式,备机直接物理复制,机默认没有数据,当主库宕,备机和机组成新复制关系,机开始复制数据,这样节省了空间同时保证了高可用。

8.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

系统分析师案例必备知识点汇总---2023系列文章四

数据对象权限密码存储和传输对远程终端信息用密码传输视图保护通过视图方式进行授权审计用一个专用文件数据库, 自动将用户对数据库所有操作记录下 来视图是保存在数据库 SELECT 查询,其内容由查询定义...反规范化技术 数据库分区技术(1) 主从复制、读写分离(2) 数据库分片 (分表) 、分库(3) 分布式缓存技术 主从复制,读写分离读写分离设置物理上不同/服务器,让服务器负责数据写操作,...引入主从复制机制所带来好处有: (1) 避免数据库单点故障:服务器实时、异步复制数据服务器,当数据库宕机时, 可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。...(2) 提高查询效率:根据系统数据库访问特点,可以使用数据库进行数据插入、删除 及更新等写操作,而数据库则专门用来进行数据查询操作,从而将查询操作分担到不同 服务器以提高数据库访问效率。...4、nosql 数据库5、数据库备份备份方式优点缺点冷备份非常快速备份方法(只需复 制文件);容易归档 (简单复 制即可);容易恢复到某个时 间点(只需将文件再复制回 去) :能与归档方法相结合,

57340

系统分析师案例必备知识点汇总---2023系列文章四

) 和 数据对象权限 密码存储和传输 对远程终端信息用密码传输 视图保护 通过视图方式进行授权 审计 用一个专用文件数据库, 自动将用户对数据库所有操作记录下 来 视图是保存在数据库 SELECT...反规范化技术 数据库分区技术 (1) 主从复制、读写分离 (2) 数据库分片 (分表) 、分库 (3) 分布式缓存技术 主从复制,读写分离 读写分离设置物理上不同/服务器,让服务器负责数据写操作...引入主从复制机制所带来好处有:(1) 避免数据库单点故障:服务器实时、异步复制数据服务器,当数据库宕机时, 可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。...(2) 提高查询效率:根据系统数据库访问特点,可以使用数据库进行数据插入、删除 及更新等写操作,而数据库则专门用来进行数据查询操作,从而将查询操作分担到不同 服务器以提高数据库访问效率。...4、nosql 数据库 5、数据库备份 备份方式 优点 缺点 冷备份 非常快速备份方法(只需复 制文件);容易归档 (简单复 制即可);容易恢复到某个时 间点(只需将文件再复制回 去) :能与归档方法相结合

36510

小程序原理初探

浏览器运行环境 首先,浏览器主要组件有: 用户界面(User Interface) - 地址栏、前进/后退按钮、书签菜单等(除了浏览器窗口外,其他显示各个部分都属于用户界面)。...新 HTML 规范 (HTML5) 定义了“网络数据库”,这是一个完整(但是轻便)浏览器内数据库。 用户界面后端(UI Backend) - 用于绘制基本窗口小部件,比如组合框和窗口。...指令和各种DOM事件) 下述表格展示了两个线程区别: 线程名称 所属模块 运行代码 原理 备注 View 视图层(可能有多个) WXML/WXSS webview渲染 wxml编译器把wxml文件转为...js(构建virtual dom);wxss编译器把wxss文件转化为js AppService 逻辑层(一个) JS JavascriptCore运行 无法访问 window/document对象...来通信,逻辑层把数据变化通知到视图层,触发视图层页面更新,视图层把触发事件通知到逻辑层进行业务处理。

1.4K00

MySQL引擎和视图

- MySQL引擎 - 一.MySQL存储MyISAM与InnoDB区别 存储引擎Storage Engine:MySQL中数据、索引以及其他对象是如何存储,是一套文件系统实现。...所谓视图,本质是一种虚拟表,在物理上是不存在,其内容与真实表相似,包含一系列带有名称列和行数据。 但是,视图并不在数据库中以储存数据值形式存在。...五.视图缺点 性能,数据库必须把视图查询转化成对基本表查询,如果这个视图是由一个复杂多表查询所定义,那么,即使是视图一个简单查询,数据库也把它变成一个复杂结合体,需要花费一定时间。...修改限制,当用户试图修改视图某些行时,数据库必须把它转化为对基本表某些行修改。事实,当视图插入或者删除时,情况也是这样。...游标是系统为用户开设一个数据缓冲区,存放SQL语句执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录并赋给变量,交由主语言进一步处理。

98820

读书笔记《Java并发编程艺术 - 方腾飞》- Java内存模型

理想状态下数据概念模型与我们意图完全相符, AB两条线程, 同时对数字 1 进行加1操作, 结果 为 3 Java 同步原语 计算机屏障指令 Load 指令, 使缓存失效, 内存读取数据...锁除了让临界区互斥执行外,还可以让释放锁线程向获取同一个锁线程发送消息 当线程尝试释放锁时, JMM会将线程共享变量, 刷新到内存当中....当线程尝试获取锁是, JMM会将线程共享变量地址设为无效.从而临界区变量必须内存当中重新获取....在执行前增加 Lock 前缀 保证了对内存操作原子性 (通过锁内存总线来实现, 这样会使所有处理器无法访问内存数据....所以还有另外一种情况, 即所需要操作数据带有 Lock 前缀指令执行之前就已经被持有该缓存行处理器锁定, 则不会通过锁总线来完成这步指令, 因为此时数据无法被其他处理器读取, 该操作成为缓存锁定

59320

数据库原理复习笔记(实用)

授权:授予与收回 第5章 5.3 用户定义完整性 5.3.1 属性约束条件(P163) 5.3.2 元组约束条件定义 第7章 数据库设计 7.1 数据库设计概述 7.1.3 数据库设计基本步骤...模式:包括若干基本表 内模式:包含若干存储文件,存储文件逻辑结构组成了关系数据库内模式,存储文件物理结构对用户是隐蔽 首先进入mysql文件夹下bin目录,然后输入MySQL -u+用户名...带有exists谓词子查询 3.4.4 集合查询 3.4.5 基于派生表查询 3.4.6 select语句一般格式 3.5 数据更新 3.5.1 插入数据 1....where sdept = 'IS'; 若一个视图单个基本表导出,且只去掉了某些行列,但保留了码,称这类视图为行列子集视图 带虚拟列(派生属性,在基本表中不存在)视图称为带表达式视图...带有聚集函数和group by 子句查询来定义视图称为分组视图 2.

96520

数据库超全笔记》玩转数据库

binary log dump 线程节点连接节点时,节点会创建一个log dump 线程,用于发送bin-log内容。...在读取bin-log中操作时,此线程会对节点bin-log加锁,当读取完成,甚至在发送给节点之前,锁会被释放。...l 节点I/O线程节点执行start slave命令之后,节点会创建一个I/O线程用来连接节点,请求主库中更新bin-log。...”;Slave SQL线程检测到relay-log 中新增加了内容后,会将relay-log内容解析成在节点实际执行过操作,并在本数据库中执行。...; 差异备份:仅备份自一次完成全量备份以来变量那部分数据; c.按照操作对象分类: 物理备份:直接磁盘复制数据文件进行备份; 逻辑备份:数据库导出数据另存在一个或多个文本中,将数据转化为具体

74820

Hive3查询基础知识

要更新数据,可以使用MERGE语句,该语句现在也符合ACID标准。物化视图基于访问模式优化查询。Hive支持“优化行列”(ORC)格式表最大支持300PB。还支持其他文件格式。...您可以创建类似于传统关系数据库表。您可以使用熟悉插入、更新、删除和合并SQL语句来查询表数据。insert语句将数据写入表。更新和删除语句修改和删除已经写入Hive值。...查询information_schema数据库 Hive支持ANSI标准information_schema数据库,您可以在该数据库中查询有关表、视图、列和Hive特权信息。...查询information_schema数据库以查看例如有关可在其中插入信息。...在查询中使用CTE 您可以使用通用表表达式(CTE)简化创建视图或表,选择数据插入数据过程。 1.

4.6K20

mongoDB知识总结

MongoDB 集合存在于数据库中,没有固定结构,可以往集合插入不同格式和类型数据。集合不需要事先创建。当第一个文档插入,或者第一个索引创建时,集合就会被创建。...一个或多个节点(Secondary):一般是2个或以上,节点同步数据,在节点挂掉之后可被选举成新节点。...Read Preference(读策略) 控制客户端什么节点读取数据,默认为 primary,具体参数及含义: primary:读节点 primaryPreferred:优先读节点,不存在时读节点...secondary:读节点 secondaryPreferred:优先读节点,不存在时读节点 nearest:就近读,不区分节点还是节点,只考虑节点延时 Read Concern Level...这个内存不够可能会导致数据库宕机 索引cache:缓存索引信息,默认500M 文件系统cache:这个实际不是存储引擎管理,是利用操作系统文件系统缓存(也就是 Page Cache),目的是减少内存和磁盘交互

18410

网易MySQL微专业学习笔记(十)-MySQL存储引擎

前言 这个系列属于个人学习网易云课堂MySQL数据库工程师微专业相关课程过程中笔记,本篇为其“MySQL数据库对象与应用”中MySQL数据类型相关笔记。...不建议线上业务数据使用 MEMORY存储引擎 数据全内存存放,无法持久化 性能较高 不支持事务 适合偶尔作为临时表使用 临时表仅在当前链接中有效,其他链接无法访问。...//www.tokutek.com/tokudb-for-mysql/download-community/ Mysql Cluster 多分布式集群 数据节点间冗余,高可用 支持事务 设计易于扩展...面向未来,线上慎用 改变表存储引擎 alert table m ENGINE = innodb; InnoDB存储引擎 架构      内存空间      后台各种线程()      磁盘上文件...表数据文件 InnoDB数据文件存储结构 索引组织表(聚簇表) 根据表逻辑主键排序 数据节点每页16k--二分查找 根据主键寻址速度很快 主键值递增insert插入效率较好 主键随机insert插入操作效率较差

61010

数据库是什么?数据库详细笔记!带你走进数据库~你想知道这里都有!

binary log dump 线程节点连接节点时,节点会创建一个log dump 线程,用于发送bin-log内容。...在读取bin-log中操作时,此线程会对节点bin-log加锁,当读取完成,甚至在发送给节点之前,锁会被释放。...l 节点I/O线程节点执行start slave命令之后,节点会创建一个I/O线程用来连接节点,请求主库中更新bin-log。...”;Slave SQL线程检测到relay-log 中新增加了内容后,会将relay-log内容解析成在节点实际执行过操作,并在本数据库中执行。...; 差异备份:仅备份自一次完成全量备份以来变量那部分数据; c.按照操作对象分类: 物理备份:直接磁盘复制数据文件进行备份; 逻辑备份:数据库导出数据另存在一个或多个文本中,将数据转化为具体

1.8K10

mysql主从架构实现

1.3.7 测试 1)测试主从同步   我们在 master 服务器创建一个数据库,再使用该数据库创建一个表,添加一条记录,来看一看 slave 服务器有没有同步成功。   ...首先,我们先来查看一下两个服务器上有什么数据库:   master: ?   slave: ?   现在,我们在服务器创建一个数据库“keer”: ?   ...然后,我们来看看服务器是否已经更新: ?   我们可以看出,数据库已经同步,接下来,我们就来创建表,并在表中插入一条记录: ?   然后,我们来看看服务器是否更新: ?...为了加快 slave 与 master 同步,可用以下方式先进行数据同步: (1)master某个时刻数据快照; (2)数据库备份数据; (3)master二进制日志文件。   ...但是现在也不是我们想象连续 id ,这是因为,我们两台机器都是同时插入4条数据,而且不是同步插入,这样就会有一个先后顺序,第一台机器 sql 语句执行结束以后才执行第二台机器

1.1K10

Mysql权限整理及授权命令

update 表、列 更新行 delete 表 删除行 create 数据库、表、索引 创建 drop 数据库、表、视图 删除 reload 服务器 允许使用flush语句 shutdown 服务器...关闭服务 process 服务器 查看线程信息 file 服务器 文件操作 grant option 数据库、表、存储过程 授权 references 数据库、表 外键约束父表 index 表 创建/...数据库 锁表 execute 存储过程 执行 replication client 服务器 允许查看//二进制日志状态 replication slave 服务器 主从复制 create view...视图 创建视图 show view 视图 查看视图 create routine 存储过程 创建存储过程 alter routine 存储过程 修改/删除存储过程 create user 服务器 创建用户...event 数据库 创建/更改/删除/查看事件 trigger 表 触发器 create tablespace 服务器 创建/更改/删除表空间/日志文件 proxy 服务器 代理成为其它用户 usage

1.7K30

一文了解MongoDB监控

mongostat mongostat 根据数据库操作类型(例如插入,查询,更新,删除等)捕获并返回计数。这些计数报告服务器负载分布。...可以接受一些小延迟时间,但是随着复制滞后增加,会出现严重问题,包括: 数据库缓存压力越来越大。 滞后期间发生操作不会复制到一个或多个次级。...如果复制滞后超过操作日志 (oplog) 长度,则 MongoDB 将必须在辅助数据库执行初始同步,数据库复制所有数据并重建所有索引。...流量控制 MongoDB 4.2 开始,管理员可以限制数据库应用其写入速率,以将多数承诺延迟保持在可配置最大值flowControlTargetLagSeconds以下。...当无法访问配置服务器时,某些分片操作将变得不可用,例如移动块和启动mongos实例。但是,仍然可以已运行 mongos实例访问群集 。

1K20

MySQL数据库常见面试题总结

thread线程(也称为IO线程):将bin-log二进制日志中内容发送到slave服务器,位于master端 注意:如果一台服务器配两台服务器那服务器就会有两个Binlog dump 线程...,而每个服务器各自有两个线程; 10.2、主从复制流程: (1)master服务器在执行SQL语句之后,记录在binlog二进制文件中; (2)slave端IO线程连接上master端,并请求指定...: (1)读写分离,通过动态增加服务器来提高数据库性能,在服务器执行写入和更新,在从服务器执行读功能。...(2)提高数据安全,因为数据已复制到服务器,服务器可以终止复制进程,所以,可以在从服务器备份而不破坏服务器相应数据。...并可以根据压力情况,部署多个数据库提高读操作速度,减少数据库压力,提高系统总体性能。

36120

Oracle 错误总结及问题解决 ORA「建议收藏」

: 启用锁转储事件 ORA-16416: 切换目标与目标不同步 ORA-16417: 备用重做日志文件恢复后发生激活; 需要完全数据库备份 ORA-16501: Data Guard 中介操作失败...ORA-16584: 备用站点操作非法 ORA-16585: 站点操作非法 ORA-16586: 无法通过实例编辑数据库属性 ORA-16587: 指定给 Data Guard 中介对象不明确...快照时间在文件插入时间之前 ORA-19725: 无法获取插入排队 ORA-19726: 无法将数据 [] (在级) 插入以兼容级运行数据库 ORA-19727: 无法将数据 [] (在级) 插入正在运行...Oracle 数据库 ORA-19728: 数据对象号在表和分区间 (在表中) 冲突 ORA-19729: 文件不是插入数据文件初始版本 ORA-19730: 无法转换脱机插入数据文件 ORA-...控制文件需要经转换插入数据文件 ORA-19735: 创建 SCN 错误 – 控制文件需要初始插入数据文件 ORA-19736: 不能使用不同国家字符集把表空间加入到数据库 ORA-19737:

18.9K20

精选MySQL面试题(附刷题小程序)

复制过程如下 服务器把更新记录到二进制日志文件中; 服务器把服务器二进制日志拷贝到自己中继日志(replay log)中; 服务器重做中继日志中时间,把更新应用到自己数据库。...所谓视图,本质是一种虚拟表,在物理上是不存在,其内容与真实表相似,包含一系列带有名称列和行数据。但是,视图并不在数据库中以储存数据值形式存在。...修改限制: 当用户试图修改视图某些行时,数据库必须把它转化为对基本表某些行修改。事实,当视图插入或者删除时,情况也是这样。...主从复制: 将数据库DDL和DML操作通过二进制日志(BINLOG)传输到数据库,然后将这些日志重新执行(重做);从而使得数据库数据数据库保持一致。...线程——记录下所有改变了数据库数据语句,放进masterbinlog中; :io线程——在使用start slave 之后,负责master拉取 binlog 内容,放进自己relay log

70430

数据库原理期末复习总结

恢复步骤: 1)反向扫描文件日志,查找该事务更新操作。 2)对该事务更新操作执行逆操作。即将日志记录中“更新前值”写入数据库。具体分为: 插入操作:“更新前值”为空,则做删除操作。...即: 1)将当前日志缓冲区中所有日志记录写入磁盘日志文件。2)在日志文件中写入一个检查点记录。3)将当前数据缓冲区所有数据记录写入磁盘数据库中。...3)检查点开始正向扫描日志文件,直到日志文件结束。如有新开始事务Ti,把Ti暂时放入UNDO-LIST队列。如有提交事务Tj,把TjUNDO-LIST队列移到REDO-LIST队列。...5、视图是从一个或几个基本表导出表,它与基本表不同,它是一个虚表,数据库中只存放视图定义,而不存放视图对应数据,这些数据存放在原来基本表中,当基本表中数据发生变化,视图中查询出数据也就随之改变...包括: 1)检查码值是否唯一,如果不唯一则拒绝插入或修改。 2)检查各个属性是否为空,只要有一个为空就拒绝插入或修改。

63820
领券