-
深入学习mongodb(九)mongodb备份、锁定备份、mongodump命令
发布时间:2022-12-10 11:15备份有许多种方法。但无论采用哪种方法,备份操作都会增加系统的负担:备份通常需将所有数据读取到内存中。因此,通常情况下,应对副本集的非主节点(与主节点相对)进行备份,或在空闲时段对独立服务器进行备份。法
-
深入学习mongodb(八) 应用管理之开启和关闭mongodb、建立和删除索引、mongodb系统分析器、压缩数据、mongodb持久性和安全性
发布时间:2022-11-26 18:30一、启动和关闭mongodb 1. 启动mongodb 执行mongod命令即可启动MongoDB服务器,mongod在启动时可使用许多可配置选项,在命令行中运行mon
-
深入学习mongodb(七) mongodb分片管理、数据分发、分片策略、流水策略、多热点和数据均衡
发布时间:2022-11-20 10:50分片(sharding)是指将数据拆分,将其分散存放在不同的机器上的过程。1. mongodb的分片组件分片:每个shard(分片)包含总数据集中的一个子集。并且每个分片可以被部署为副本集架构(即每个
-
深入学习mongodb(六) mongodb副本集的复制原理、同步流程和选举机制(下)
发布时间:2022-11-17 00:12一、副本集的复制原理 Oplog MongoDB的复制功能是通过操作日志oplog实现的,操作日志包含了主节点的每一次写操作。oplog是主节点的local数据库中的一
-
深入学习mongodb(五) mongodb副本集的复制、同步和选举机制
发布时间:2022-11-06 12:55本节我们介绍mongodb的复制功能,复制功能指mongodb服务将部署到多个节点(一般来说一个节点会单独部署到一条机器)上,这些节点包含一个主节点和多个从节点,主节点接收客户端的写请求,从节点则复制
-
深入学习mongodb(四)内嵌数据和引用数据(范式化/反范式化)、优化技巧、数据一致性、模式迁移和不适合使用MongoDB的场景
发布时间:2022-10-30 15:05本章介绍如何设计应用程序,以便更好地使用MongoDB,内容包括:内嵌数据和引用数据之间的权衡;优化技巧;数据一致性;模式迁移;不适合使用MongoDB作为数据存储的场景。一、内嵌数据和引用数据之间的
-
MySQL怎么运行的系列(十一)快照读、锁定读、半一致性读 和 加锁语句分析
发布时间:2022-10-02 19:21本节我们通过一些具体的案例来分析Innodb对表上锁的过程。具体场景如下图所示。在这里我们将语句分为4类:普通select(快照读)、锁定读、半一致性读 和 insert语句。普通读普通的select
-
MySQL怎么运行的系列(十)记录锁、临键锁、间隙锁、意向锁
发布时间:2022-09-16 23:48一、锁在sql并发的作用场景在正式介绍mysql(准确来说是Innodb中)的各种锁之前,我们先说说数据库的锁会在事务中的什么情况下被用到。事务并发可以分为3种情况:写写写写(事务A对某条记录进行写操
-
MySQL怎么运行的系列(九)事务隔离级别和MVCC原理
发布时间:2022-09-04 16:52一、事务的隔离级别为了保证事务与事务之间的修改操作不会互相影响,innodb希望不同的事务是隔离的执行的,互不干扰。两个并发的事务在执行过程中有 读读、读写(一个事务在读某条数据的同时另一个事务在写这
-
MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理
发布时间:2022-06-26 22:17一、什么是undo日志 如何理解undo日志 数据库事务是mysql执行操作的最小逻辑单位,一个事务可以包含一个或者多个sql语句,这些sql要么都执行成功要么都执行失
-
MySQL怎么运行的系列(七)25张图爆肝MySQL事务持久性和redo日志原理
发布时间:2022-05-13 23:55一、事务的ACID特性参考这篇文章,这里不再赘述。Mysql事务和锁(一) 事务的ACID特性事务的状态一个事务是一系列的SQL操作,我们可以把一个事务的不同阶段划分为以下状态:活动状态:事务的sql
-
MySQL怎么运行的系列(六)万字长文分析 Innodb 单表索引查询和连接查询效率
发布时间:2022-05-07 23:05一、MySQL查询访问方法mysql执行查询语句的方式叫做访问方法或访问类型,这些访问类型具体为 const、ref、range、index、all等。同一个查询语句可以使用多种不同的访问方法来执行,
-
MySQL怎么运行的系列(五)Innodb表空间(table space)、区(extent)和段(segment)
发布时间:2022-05-07 11:00上一节我们介绍了InnoDB的索引结构B+树,这一节我们关注Innodb的表空间。当插入一条记录到一个已经满了的页中时会导致页分裂,InnoDb引擎会申请一个新页来存储分裂出来的行记录,而新页就来自于
-
MySQL怎么运行的系列(四)Innodb索引结构和方案
发布时间:2022-05-05 00:02本文承接 Mysql系列(三)InnoDB存储结构之行结构和页结构 一文继续介绍Innodb引擎相关的内容。本节将介绍Innodb的索引结构。数据库可能存在千万级的数据,必须将这些
-
Mysql怎么运行的系列(三)InnoDB存储结构之行结构和页结构
发布时间:2022-05-02 16:09下图所示是一个ibd文件的逻辑结构。 · Tablespace 表空间,用于存储存储一个或多个ibd数据文件(记录和索引),一个ibd文
-
MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法
发布时间:2022-03-08 22:22InnoDB存储结构 下图是官方提供的InnoDB总体结构:分为内存结构(下图左侧)和磁盘结构(右侧)两部分。 内存部分由多个缓冲区构成,分为 缓冲池
-
MySQL怎么运行的系列(一)mysql体系结构和存储引擎
发布时间:2022-03-08 18:17MySQL体系结构Mysql是一个单进程多线程架构的数据库,分为 连接层、服务层、存储引擎层和系统文件层。连接池:存储和管理客户端与数据库的连接,一个线程负责管理一个连接并处理这个连接上的sql请求
-
你以为你了解redis? 数据结构篇(六) redis对象
发布时间:2021-08-21 10:22本文内容参考《redis设计与实现》一书总结归纳而得。 对象 前面我们介绍了简单动态字符串、双端链表、字典、整数集合和压缩列表等数据结构。redis没有裸用这些数据结构
-
你以为你了解redis? 数据结构篇(五) 压缩列表
发布时间:2021-08-21 10:00本文内容参考《redis设计与实现》一书总结归纳而得。压缩链表压缩列表本质是一系列特殊编码(方式)的连续内存块组成的顺序型数据结构。该结构从左到右包含zlbytes(压缩列表占用字节数)、zltail
-
你以为你了解redis? 数据结构篇(四) 整数集合
发布时间:2021-08-21 09:44本文内容参考《redis设计与实现》一书总结归纳而得。整数集合整数集合本质是一个整数数组,它是set集合类型的底层实现之一。当一个集合只包含少量整数元素时redis会用整数集合作为集合的底层数据结构。