一、定义数据库和实例
数据库:
物理操作系统文件或其他形式文件类型的集合。数据库文件可以是frm、MYD、ibd 结尾的文件。
从概念上来说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器的数据集合;
实例:
MySQL数据库由后台进程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。 需要注意的是,数据库实例才是真正用于操作数据库文件的。
从概念上来说,数据库实例是程序,是位于用户于操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询等都在实例下进行,应用程序只有通过数据库实例才能和数据库打交道。
PS:MySQL是一个单进程多线程架构的数据库。也就是说MySQL数据库实例在系统中表现形式就是一个进程。
二、MySQL体系结构
根据上图可以看出,MySQL由以下几个部分组成:
1. 连接池组建
2. 管理服务和工具组建
3. SQL接口组件(SQL Interface)
4. 查询分析器(Parser)
5. 优化器组件(Optimizer)
6. 缓冲组件(Cache & Buffer)
7. 插件式存储引擎(Pluggable Storage Engines)
8. 物理文件 (File Sysgtem & Logs)
三、MySQL存储引擎
MySQL与其他数据库对比等一大特点就是独有的插件式体系结构,而每存储引擎都有各自的特点,能够根据具体的业务或者应用场景建立不同的存储引擎表。
下面简单的介绍以下MySQL几款常见的存储引擎:
1、InnoDB存储引擎:
InnoDB存储引擎支持事务,设计目标主要面向OLTP应用,特点是行锁设计、支持外键。PS:MySQL5.6+开始支持全文索引。
2、MyISAM存储引擎:
MyISAM存储引擎不支持事务、表锁设计,支持全文索引,主要面向一些OLAP数据库应用。
3、NDB存储引擎:
NDB存储引擎是一款集群存储引擎,特点是将数据全部放在内存中(MySQL5.1+开始可以将非索引数据放在磁盘上)因此主键查找的数据快,通过添加数据存储节点,可以线性的提高数据库性能,是高可用,高性能的集群系统。
4、Memory存储引擎:
Memory存储引擎将表中所有的数据放置内存中,如果数据库重启或者崩溃,数据将消失。Memory所有默认使用哈希索引。
***rchive存储引擎:
只支持insert 和 select操作, 使用zlib算法将数据行(row)压缩存储。 非常适合存储归档数据,如日志信息。
6、Federated
7、Maria
……
什么样的人才会迟到?一种是智商余额不足的,另一种是有底气的人。超融合发展到...
前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。s...
专注于文本文档的组织在简化业务流程方面有了一个新的盟友。自然语言处理(Natura...
北京忆恒创源科技有限公司(Memblaze)今天宣布推出PBlaze5 920系列企业级NVMeSSD...
很多站长选择业务搭载平台时,会更多地考虑网站服务器租用价格。而趋于平价化的...
在经历空前的一年后,医疗保健行业CIO们表示,他们将加倍努力为患者和医疗服务提...
Google 为了应对快速增长的数据处理,开发了一套算法。后来有人根据算法的思想,...
前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来...
在比较服务器托管和云服务之前,有必要先了解下云服务的概念。云服务是现在流行...
无服务器架构(Faas/Serverless),是软件架构领域的热门话题。 AWS,Google Cloud...