数据库
文章平均质量分 78
Shi Peng
这个作者很懒,什么都没留下…
展开
-
VKDS学习笔记
一、VKDS用于解决为什么问题1、分库分表2、替客户端写连接池3、保证主从高可用4、动态配置5、监控告警同类产品:shardingjdbc、drds/tddl、zebra二、原创 2020-03-23 12:25:49 · 430 阅读 · 1 评论 -
Nebula graph 源码 学习笔记
nebula源码原创 2022-06-25 09:46:24 · 1529 阅读 · 0 评论 -
Nebula Graph数据库 学习笔记
Nebula Graph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。原创 2022-05-23 16:27:55 · 2524 阅读 · 0 评论 -
再学MySQL
一、MySQL的架构从MySQL架构来说,MySQL分为Server层和存储引擎层2层。Server层包括:连接器、查询缓存、分析器、优化器、执行器。内置函数、存储过程、触发器、视图等跨存储引擎的功能,都在Server层实现。Server层通过固定的API来访问存储引擎层,各种不同的存储引擎就好比OSS,COS, MinIO等,都兼容了AWS S3的API。...原创 2022-02-19 20:39:54 · 627 阅读 · 0 评论 -
MySQL的间隙锁
一、、为什么要引入间隙锁MySQL引入间隙锁(Gap Lock),是为了在可重复读事务隔离级别中,解决幻读问题锁引入的锁机制。二、幻读2.1、什么是幻读幻读是指,当一个事务先后两次查询同一个范围的时候,查到的结果不同,这是因为第二次这个事务查到了其他事务对数据所做的没有commit前的更改。这里,先后执行了Q1 ~ Q3 3次select *** for update读,读到的结果不同:1)sessionB由于执行了update t set d=5 where id=0, 导致新增了一条满足d原创 2022-02-12 09:43:39 · 6074 阅读 · 6 评论 -
Druid学习笔记
一、Druid连接池简介Druid是阿里开源的Java版数据库连接池,并提供了监控组件。他包括三部分:1、DruidDriver代理的Driver,能够提供基于Filter-Chain模式的插件体系2、DruidDataSource:高效可管理的数据库连接池3、SQLParser:SQL解析器Druid都能干什么?1、可监控数据库的访问性能:Druid内置了一个强大的StatFilter插件,能详细统计SQL执行性能。2、Druid提供了高效、可扩展的数据库连接池3、对数据库密码加密4、原创 2021-03-09 12:15:01 · 157 阅读 · 1 评论 -
数据库事务的ACID四大原则 学习笔记
一、前言说起数据库,可以不知道SQL,但一定不能不知道ACID。数据库事务ACID四大原则:A 代表Atomicity,即原子性;C 表示Consistency,即一致性;I 表示Isolation,即隔离性;D 表示Durability,即持久性。二、原子性原子性简单,也最常用。即在事务中所有操作都被视为一个不可分割的整体,要么全成功,要么全失败。原子性经典的例子是A给B转账,不能A扣了钱,但B却没收到(因为网络等原因)。事务的一种实现方法是在执行的时候,先不将最终的结果更新到原创 2020-10-27 17:54:04 · 2174 阅读 · 0 评论 -
数据库架构设计一次搞定
一、前言作为架构师,在数据库架构设计上,至少四个方面是需要系统性考虑的:一、如何保证数据库的高可用(1)读库高可用,如何保证?(2)写库单点,如何消除?(3)服务层,站点层,如何高可用?二、如何提升数据库的读写性能(1)索引为何会降低读性能?(2)一主多从真的好么?(3)数据库写入性能如何线性提升?三、如何保证数据的一致性(1)主从有延时,如何保证一致性?(2)缓存与数据库...原创 2019-11-02 21:49:44 · 1132 阅读 · 0 评论 -
MySQL学习笔记二
一、MySQL索引MySQL索引的好处:如果正确设计并使用索引,MySQL会是一辆跑车,不用索引的MySQL就是一辆三轮车。对于没有索引的表,单表查询,可能十几万数据就是瓶颈,而大型网站每天可能产生几十万甚至上百万数据,没有索引查询会变的很慢。1. 索引的概念索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一部分),索引包含这对数据表里所有记录的引用指针。更通俗地说,所以好比是一本...原创 2019-03-19 23:34:25 · 159 阅读 · 0 评论 -
MySQL学习笔记
一、MySQL架构1. MySQL逻辑架构图第一层:连接/线程处理:连接处理、授权认证、安全等第二层:查询缓存、解析器、优化器:MySQL的核心服务都在这层,如查询解析、分析、优化、缓存、内置函数(日期、时间、数据、加密),所有跨引擎的功能也都在这层实现,如存储过程、触发器、视图等。第三层:存储引擎:存储引擎负责MySQL中数据的存储和提取。MySQL服务器通过API与存储引擎进行通信,...原创 2019-03-19 22:28:37 · 270 阅读 · 0 评论 -
B+树与MySQL InnoDB的索引
一。B-树 : 一种多路搜索树(并不是二叉树)非叶子节点最多可以有大于M个儿子; 且M > 2根节点的儿子数为[2, M]根节点之外的非叶子节点的儿子数为[M/2, M]每个节点存放至少M/2 - 1 (取上整) 和之多M-1个关键字;(至少2个关键字)非叶子节点的关键字个数=指向儿子的指针个数-1非叶子节点的关键字:K[1], K[2], … , K[M-1]; 且K[i] ...原创 2019-02-26 22:04:29 · 837 阅读 · 0 评论