
MySQL系列
文章平均质量分 87
关于mysql的一些知识
Aaron_涛
囧囧有神
展开
-
MySQL - 分库分表产生的问题&解决方案
1.为什么分业务拆分,将一个大的业务拆分成多个小服务,服务之间通过RPC调用,不同服务的数据使用独立的数据库存储 应对高并发,读多写少,增加从库应对读流量,读少写多,分库分表,均衡写流量 数据隔离,C端数据和B端数据分隔,核心数据与非核心数据分隔,使其不要相互影响2.怎么分在分库分表之前,数据库表的主键自增可以唯一标记一条记录,但是分库分表之后,无法使用数据库的id,因为可能造成全局的主键id重复冲突常见的是采用一个分布式发号器实现,Twitter的Snowflake,美团的leaf等..原创 2020-08-02 11:09:18 · 2232 阅读 · 1 评论 -
MySQL - 异步复制,半同步复制,增强半同步复制,组复制,全告诉你
1.什么是主从复制主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库。可以理解为,主数据库的数据的任何变化,从数据库都会跟着发生变化。2.主从复制的作用 在从服务器可以执行查询工作,降低主服务器压力;(主库写,从库读,降压)读写分离 在从主服务器进行备份,避免备份期间影响主服务器服务;容灾 当主服务器出现问题时,可以切换到从服务器。提高可用性 3.主从复制的基本原理步骤含义: SQL语句操作变化存入BinLog...原创 2020-07-21 19:40:17 · 4351 阅读 · 0 评论 -
数据库如何实现弹性伸缩
1.写在前面在之前文章中,探讨过到底为什么要云原生,以及云原生的核心应该是【弹性伸缩】和【按需计费】。并且简单描述了下应用层做到【弹性伸缩】所需要解决的问题。所以本文主要是继续探讨一下,弹性伸缩如何应用在数据库上。以及目前业界一些案例。2.弹性伸缩前提要实现【弹性伸缩】的前提是什么?答:通过一些监控指标,自动化快速拉起一个服务,无需人工介入而要做到这点,业界提出一个概念:服务无状态既然有无状态,那么就会存在有状态,两者的区别是什么呢?无状态:如果发布一台新机器无需..原创 2020-06-19 18:11:08 · 2235 阅读 · 1 评论 -
InnoDB怎么解决幻读的?
1.结论首先说结论,在RR的隔离级别下,Innodb使用MVVC和next-key locks解决幻读,MVVC解决的是普通读(快照读)的幻读,next-key locks解决的是当前读情况下的幻读。2.幻读是什么事务A,先执行:update table set name=“hh” where id>3;结果为:OK row xx 表名成功影响多少行数据...原创 2019-04-03 20:39:52 · 28090 阅读 · 17 评论 -
Innodb读快照
Innodb读快照概念为啥要用读快照读快照怎么实现普通读发送了啥总结Innodb读快照概念 什么是读快照 简而言之在innodb中为了提高并发,每次读都是快照读,当然这个是只普通读,即select,不加锁的那种为啥要用读快照 为啥? 当然是为了提高并发呀。如果采用读写锁,在数据库中为X锁和S锁...原创 2018-09-11 20:23:00 · 677 阅读 · 0 评论 -
数据库隔离机制的实现
数据库隔离机制的实现数据库隔离机制串行化可重复读读已提交读未提交数据库事务可能导致的问题脏读不可重复读幻读脏读 事务A,先执行,处于未提交的状态: insert into table values(1, xx); 事务B,后执行,也未提交: select * from table ; ...原创 2018-09-04 10:20:13 · 1162 阅读 · 0 评论 -
Innodb锁的类型
Innodb锁的类型首先知道的一些点共享/排它锁意向锁记录锁间隙锁临键锁插入意向锁自增锁psInnodb锁的类型共享/排它锁(Shared and Exclusive Locks) 意向锁(Intention Locks)记录锁(Record Locks) 间隙锁(Gap Locks) 临键锁(Next-key Locks) 插...原创 2018-09-05 15:45:28 · 777 阅读 · 0 评论 -
聚集索引和非聚集索引
聚集索引和非聚集索引概念索引和表的关系聚集索引和物理存储上的关系主键和聚集索引的关系非聚集索引联合索引覆盖索引聚集索引和非聚集索引概念 什么是聚集索引? 众所周知,innodb中索引的组织形式是B+树,非叶子节点存key,叶子节点存key+data,叶子节点之间用指针联通。 聚集索引则在data存放是数据页...原创 2018-09-08 14:44:29 · 3588 阅读 · 0 评论