上一页 1 ··· 3 4 5 6 7
摘要: 电商 01 订单 订单系统最重要的是:数据不能错。 下单如何保证幂等:可以先提供一个生成订单号的服务,下单时,将该号传过来。该订单号作为数据库主键来保证不会重复插入相同的数据。 更新订单的ABA问题:可以增加一个版本号字段,update orders set xxx=yyy, version = v 阅读全文
posted @ 2022-02-22 19:02 rachel_aoao 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 架构 复制集(replica set)提供了数据冗余和高可用。它是一组mongod进程。 一个复制集里面有很多数据节点(data bearing node)和一个可选择的仲裁节点(arbiter node)。数据节点的角色也分为主节点(primary node)从节点(secondary node) 阅读全文
posted @ 2022-02-22 11:29 rachel_aoao 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Data Model概念 如果要给MongoDB打标签,那么首选的几个标签无非是NoSQL, 非关系型数据库, 分布式文档存储数据库。而关系型数据库,非关系型数据库一个非常重要的区别就是Data Model。Data Model 决定了“要怎么存”,“适用怎么查”等,也是选型的一个重要考虑因素。 所 阅读全文
posted @ 2022-02-21 11:32 rachel_aoao 阅读(123) 评论(0) 推荐(0) 编辑
摘要: MongoDB知识图谱 在网上看了半天,感觉可能学习MongoDB的官方文档会比较好一点。 MongoDB简介 MongoDB是一个文档型数据库(document database)。它存储数据的数据结构(文档)是一个Key-Value Pair的集合,其中Value也可以是一个数组,一个其他的文档 阅读全文
posted @ 2022-02-18 14:32 rachel_aoao 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 主从同步 主从同步的过程如下图所示,核心就是,当从库连接上主库之后,主库为为这个从库创建一个dump线程,用于传输binlog。从库有一个IO线程来接收binlog并写入它的中转日志relay log,同时有一个SQL线程读取relay log进行执行。主从同步保证的是数据的最终一致性。主从同步的方 阅读全文
posted @ 2022-02-17 19:47 rachel_aoao 阅读(98) 评论(0) 推荐(0) 编辑
摘要: WAL机制 Write-Ahead Logging,预写日志系统即当有数据更新请求的时候,先写日志,再改内存,等“有空”的时候再落磁盘(刷脏页)。WAL机制的好处,因为写日志是磁盘顺序IO,而直接写磁盘是随机IO,性能较差。 binlog MySQL server层自己的归档日志叫做binlog ( 阅读全文
posted @ 2022-02-16 19:40 rachel_aoao 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 事务 第一个前提:事务是存储引擎层面支持的,InnoDB支持事务,MyISAM不支持事务。本文都是指的InnoDB。 第二个前提 :MySQL默认设置autocommit = on,即任何语句若没有显示地开启事务,都被当做一个独立的事务进行执行 —— Even a select statement 阅读全文
posted @ 2022-02-15 18:51 rachel_aoao 阅读(61) 评论(0) 推荐(0) 编辑
摘要: # 存储 ## 数据页 计算机中的磁盘存储数据的最小单元是扇区,一个扇区512字节。文件系统最小单元是块,一个块4K。InnoDB最小单元是页(也就是我们说的数据页),一个页是16K。如下图: ![数据页](https://img2023.cnblogs.com/blog/2753616/20230 阅读全文
posted @ 2022-02-15 14:53 rachel_aoao 阅读(159) 评论(0) 推荐(0) 编辑
摘要: MySQL的架构 连接层 管理连接,握手, 权限验证 服务层 (我自己取的 0 0) 缓存,分析器(Parser,做词法分析语法分析),优化器(Optimizer 重写sql语句,执行计划生成,选择索引),执行器(做DDL, DML等) 存储引擎层 所有和索引相关的,其实是依赖不同的插件式存储引擎, 阅读全文
posted @ 2022-02-15 10:41 rachel_aoao 阅读(35) 评论(0) 推荐(0) 编辑
摘要: MySQL知识图谱 根据上图DB-Engines Ranking可以看到,在今天,关系型数据库仍然在存储组件中有着举足轻重的地位。 在梳理MySQL学习笔记的时候,会遇到一些名词,在此作一个字典,也可帮助回忆相关内容: 架构 客户端,连接器,分析器,优化器,存储引擎 存储 & 索引 数据页,缓存池( 阅读全文
posted @ 2022-02-15 09:36 rachel_aoao 阅读(36) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7