Mysql基本原理和概念一、引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低
转载
2023-07-28 20:01:01
113阅读
我之前经常这么问自己,我真的懂JAVA IO和NIO吗?看着很简单,也经常使用,可是用过就忘了。JAVA IO是指Java程序处理输入输出,现在通常是指文件和网络IO。NIO是JDK 1.4之后提供的新的IO方面的API。Java IO和NIO虽然看起来很简单,但要说点什么出来,却似乎有什么如鲠在喉,无从说起。本文从底层源码、理论图解和模型思考几个方面尝试讲透JAVA IO和NIO。Java IO
转载
2023-07-19 13:38:59
114阅读
一 Java IO,硬骨头也能变软主要内容:(1) 按操作方式分类结构图: (2)按操作对象分类结构图 二 java IO体系的学习总结IO流的分类:按照流的流向分,可以分为输入流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流的角色划分为节点流和处理流。流的原理浅析:java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧
转载
2023-07-26 19:31:29
86阅读
IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对IOC的概念进行详述了。在Spring的配置文件中,经常看到如下配置:<bean id="courseDao" class="com.qcjy.learning.Dao.impl.Co
转载
2023-09-20 08:09:55
46阅读
前言本文主要介绍主从复制的工作原理。阅读本文可以了解到 1. 主从复制是怎么工作的 2. 主同步中如何选择数据格式(RBR、SBR、MBR) 3. 从库是如何提高数据复制效率(并行重放)一、MySQL主从复制简介在此引用《高性能MySQL》[1]中的介绍复制解决的基本问题是让一台数据库服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主
转载
2023-12-01 20:09:11
52阅读
1.什么是IO 虽然作为Java开发程序员,很多都听过IO、NIO这些,但是很多人都没深入去了解这些内容。 Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的
1.什么是IO虽然作为Java开发程序员,很多都听过IO、NIO这些,但是很多人都没深入去了解这些内容。Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等2.同步与异步、阻塞与非阻塞同步:一个任务完成之前不能做其他操作,必须等待。异步:一个任务完成之前,可以进行其他操作阻塞:相对于CPU来说,挂起
Mysql查询优化器本文的目的主要是通过告诉大家,查询优化器为我们做了那些工作,我们怎么做,才能使查询优化器对我们的sql进行优化,以及启示我们sql语句怎么写,才能更有效率。那么到底mysql到底能进行哪些优化那,下面通过以下几个方面来探讨一下:1常量转化它能够对sql语句中的常量进行转化,比如下面的表达式:WHERE col1 = col2 AND col2 ='x';依据传递性:如果A=B
目录一、文件1、基本解释2、常用的文件操作3、获取文件相关信息4、目录操作和文件删除二、IO流原理及分类 1、IO流原理2、流的分类3、IO流体系图
原创
2022-06-19 00:41:15
246阅读
binlog的写入机制事务执行过程中,先把日志写到binlog cache,事务提交的时候,再把binlog cache写到binlog文件中。 一个事务的binlog是不能被拆开的,因此不论这个事务多大,也要确保一次性写入。 系统给binlog cache分配了一片内存,每个线程一个,参数 binlog_cache_size用于控制单个线程内binlog cache所占内存的大小。如果超过了这个
转载
2023-09-22 10:56:57
39阅读
1 简介 MVCC(Multi-Version Concurrency Control)多版本并发控制,是用来在数据库中控制并发的方法,实现对数据库的并发访问用的。在MySQL中,MVCC只在读取已提交(Read Committed)和可重复读(Repeatable Read)两个事务级别下有效。其
转载
2021-02-19 10:54:00
455阅读
2评论
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LVM),逻辑备份工具Mysqldump,M
原创
2016-05-06 16:10:45
663阅读
1. 为什么需要分布式数据库2. MySQL Cluster原理3. MySQL Cluster的优缺点4. MySQL Cluster国内应用5. 参考资料 1. 为什么需要分布式数据库 随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,动辄达
转载
2019-07-24 15:57:00
81阅读
2评论
者重点关注能恢复到什么程度,而
转载
2022-09-14 10:07:28
92阅读
# MySQL MVCC原理详解
## 什么是MVCC
MVCC(Multi-Version Concurrency Control)多版本并发控制是MySQL数据库中用于实现并发访问的一种机制。它通过在数据库中保存数据的多个版本来实现并发读写操作,从而提高数据库的并发性能。
MVCC的工作原理是通过在每条数据的行记录中保存数据版本号,读取操作只能读取已经提交的数据版本,而写操作会创建一个新
原创
2023-07-30 06:23:39
62阅读
# MySQL索引原理详解
## 1. 概述
在数据库中,索引是提高查询效率的重要手段之一。MySQL作为一种常用的关系型数据库,索引在其中扮演着至关重要的角色。本文将详细介绍MySQL索引的原理,并通过代码示例展示其使用方法。
## 2. 索引的定义和作用
索引是数据库中对某一列或多列的值进行排序的数据结构,它能加速查询的速度。索引可以理解为目录,它可以快速定位到存储在数据库中的数据。
原创
2023-08-19 08:50:10
49阅读
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LVM),逻辑备份工具Mysqldump,M
转载
2016-12-11 16:00:39
1349阅读
本文介绍Linux的五种IO模型。IO (Input/Output,输入/输出)即数据的读取(接收)或写入(发送)操作。IO有内存IO、网络IO和磁盘IO三种,通常我们说的IO指的是后两者。可以将IO理解为两步:等待IO事件就绪数据就绪后进行真正意义上的IO(真正的数据搬迁)
原创
2022-02-15 16:11:06
416阅读
首先什么是MVCC呢?1、MVCC就是一个Mysql多版本并发控制的方法。它是一种并发控制方法,一般在数据库管理系统中,实现数据库的并发访问,在编程语言中实现事务内存。2、①以往最原生的锁就是,把数据锁住,然后不给多个线程去访问它,这种方式是很低效率。 ②后来衍生出了读写锁,读锁和读锁之间不互斥,而写锁和写锁、读锁都互斥。这样就很大提升了系统的并发能力。之后人
转载
2023-08-06 00:49:43
100阅读
【Redis,Netty,Nginx 等实现高性能IO的核心原理】I/O输入输出(input/output)的对象可以是文件(file),
原创
2022-06-08 09:05:44
305阅读