MySQL
文章平均质量分 91
biu~biu~biu_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sharding-Proxy简单应用
Sharding-Proxy简介Sharding-Proxy是ShardingSphere的第二个产品,定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等操作数据,对DBA更加友好。向应用程序完全透明,可直接当做MySQL使用适用于任何兼容MySQL协议的客户端Sharding-Proxy的优势原创 2021-07-28 07:49:41 · 796 阅读 · 0 评论 -
ShardingSphere SPI 加载和编排治理
SPI 加载官网地址在Apache ShardingSphere中,很多功能实现类的加载方式是通过SPI注入的方式完成的。 ServiceProvider Interface (SPI)是Java提供的一套被第三方实现或扩展的API,它可以用于实现框架扩展或组件替换。这里汇总了Apache ShardingSphere所有通过SPI方式载入的功能模块。SQL解析SQL解析的接口用于规定用于解析SQL的ANTLR语法文件。主要接口是SQLParserEntry,其内置实现类有MySQLPars原创 2021-07-27 22:36:44 · 902 阅读 · 0 评论 -
ShardingSphere分布式事务
分布式事务理论CAP(强一致性)CAP 定理,又被叫作布鲁尔定理。对于共享数据系统,最多只能同时拥有CAP其中的两个,任意两个都有其适应的场景。BASE(最终一致性)BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( EventualConsistency)。它的核心思想是即使无法做到强一致性(CAP 就是强一致性),但应用可以采用适合的方式达到最终一致性。BA指的是基本业务可用性,支持分区失败;S表示柔性状态,也原创 2021-07-27 22:22:39 · 3239 阅读 · 1 评论 -
ShardingSphere读写分离和数据脱敏
读写分离读写分离是通过主从的配置方式,将查询请求均匀的分散到多个数据副本,进一步的提升系统的处理能力。主从架构:读写分离,目的是高可用、读写扩展。主从库内容相同,根据SQL语义进行路由。分库分表架构:数据分片,目的读写扩展、存储扩容。库和表内容不同,根据分片配置进行路由。将水平分片和读写分离联合使用,能够更加有效的提升系统性能, 下图展现了将分库分表与读写分离一同使用时,应用程序与数据库集群之间的复杂拓扑关系。 读写分离虽然可以提升系统的吞吐量和可用性,但同时也带来了数据不一致的问题,包括多原创 2021-07-26 19:32:00 · 955 阅读 · 0 评论 -
ShardingSphere分库分表简单应用
环境搭建主要分为以下几个步骤:准备数据库环境创建工程配置依赖配置yaml参数创建实体类和资源操作类测试环境准备数据库环境创建两个库,在库中创建两个相同的position表CREATE DATABASE sharding1;USE sharding1;CREATE TABLE `position` ( `id` BIGINT AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `city` VARCHAR(50) NOT NULL,原创 2021-07-26 10:02:39 · 473 阅读 · 0 评论 -
ShardingSphere基本介绍及核心概念
文章目录关于分库分表背景描述遇到的问题如何解决垂直拆分水平拆分(数据分片)ShardingSphere介绍Sharding-JDBCSharding-JDBC主要功能:Sharding-JDBC 内部结构:Sharding-JDBC初始化流程:Sharding-JDBC 使用过程:ShardingSphere核心概念表概念分片概念分片键分片算法(ShardingAlgorithm)分片策略分片策略配置流程剖析SQL使用规范分页查询行表达式分布式主键关于分库分表背景描述最初设计的系统只用了单机数据库原创 2021-07-25 22:15:02 · 21996 阅读 · 6 评论 -
MySQL架构原理(八)读写分离和双主模式
读写分离读写分离引入时机 大多数互联网业务中,往往读多写少,这时候数据库的读会首先成为数据库的瓶颈。如果我们已经优化了SQL,但是读依旧还是瓶颈时,这时就可以选择“读写分离”架构了。 读写分离首先需要将数据库分为主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过主从复制机制进行数据的同步,如图所示。在应用中可以在从库追加多个索引来优化查询,主库这些索引可以不加,用于提升写效率。读写分离架构也能够消除读写锁冲突从而提升数据库的读写性能。使用读写分离架构需要注意:主从同步延迟和原创 2021-07-18 14:48:26 · 1862 阅读 · 2 评论 -
MySQL架构原理(七)集群架构和主从模式部署
文章目录集群架构设计架构设计理念可用性设计一致性设计主从模式适用场景实现原理主从复制半同步复制并行复制MySQL 5.6并行复制原理MySQL 5.7并行复制原理MySQL8.0 并行复制并行复制配置与调优并行复制监控主从模式部署安装安装虚拟机和Centos安装mysql主从模式的搭建配置主库配置从库测试半同步模式搭建主库配置从库配置测试并行复制配置并行复制监控集群架构设计架构设计理念在集群架构设计时,主要遵从下面三个维度:可用性扩展性一致性可用性设计站点高可用,冗余站点原创 2021-07-14 08:17:53 · 1145 阅读 · 0 评论 -
MySQL主从部署, master and slave have equal MySQL server UUIDs问题解决
在虚拟机环境搭建主从复制的时候,启动slave后t通过shouw svale status \G;查看状态出现如下问题问题的原因就是因为从机的虚拟机是克隆出来,之前主机的mysql安装后生成了唯一的UUID,克隆出来的从机当前和原主机UUID重复解决方案:执行下面两条命令后,会重启mysql服务端,在进行主从复制的搭建即可正常mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bkpsystemctl restart mysqld...原创 2021-07-13 22:43:56 · 308 阅读 · 0 评论 -
MySQL架构原理(六)锁机制
锁分类在 MySQL中锁有很多不同的分类。从操作的粒度可分为表级锁、行级锁和页级锁。表级锁:每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、InnoDB、BDB 等存储引擎中。行级锁:每次操作锁住一行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB 存储引擎中。页级锁:每次锁定相邻的一组记录,锁定粒度界于表锁和行锁之间,开销和加锁时间界于表锁和行锁之间,并发度一般。应用在BDB 存储引擎中。从操作的类型可原创 2021-07-11 20:01:34 · 274 阅读 · 1 评论 -
MySQL架构原理(五)MySQL事务
ACID 特性 在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Redo如果事务原创 2021-07-11 19:09:11 · 1391 阅读 · 3 评论 -
MySQL架构原理(四)索引原理
文章目录索引类型普通索引唯一索引主键索引复合索引全文索引索引原理二分查找法介绍Hash结构B+Tree结构聚簇索引和辅助索引索引分析与优化EXPLAIN回表查询覆盖索引最左前缀原则LIKE查询NULL查询索引与排序查询优化慢查询定位慢查询优化慢查询原因总结分页查询优化索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索原创 2021-07-11 11:12:07 · 616 阅读 · 0 评论 -
MySQL架构原理(三)线程模型和文件模型
InnoDB线程模型IO Thread在InnoDB中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的性能。在InnoDB1.0版本之前共有4个IO Thread,分别是write,read,insert buffer和log thread,后来版本将read thread和write thread分别增大到了4个,一共有10个了。read thread : 负责读取操作,将数据从磁盘加载到缓存page页。4个write thread:负责写操作,将缓存脏页原创 2021-07-09 21:11:47 · 651 阅读 · 0 评论 -
MySQL架构原理(二)存储引擎
MySQL存储引擎 存储引擎在MySQL的体系架构中位于第三层,负责MySQL中的数据的存储和提取,是与文件打交道的子系统,它是根据MySQL提供的文件访问层抽象接口定制的一种文件访问机制,这种机制就叫作存储引擎。使用show engines命令,就可以查看当前数据库支持的引擎信息。在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。InnoDB:支持事务,具有提交,回滚和崩溃恢复能力,事务安全MyISAM:不支持事务和外键,访问速度快Memory原创 2021-07-05 22:37:27 · 244 阅读 · 0 评论 -
MySQL架构原理(一)体系架构和运行机制
MySQL体系架构MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。原创 2021-07-05 21:57:42 · 430 阅读 · 0 评论
分享