Mysql体系结构和存储引擎

时间:2022-11-07 09:05:20

什么是数据库和数据库实例

数据库:物理操作系统文件或其他形式文件类型的集合,也就是数据库管理系统中存放的数据的集合。
数据库实例:在系统中表现就是一个运行数据库服务器程序的这个进程,如MySQL的mysqld。

MySQL体系结构

数据库管理系统的架构都差不多,MySQL区别于其他DBMS的一个特点就是其插件式的表存储引擎。采用不同存储引擎的表有不同的特性。在这里需要注意的是存储引擎是基于表的,而不是数据库。

下面为一些常见存储引擎介绍:

InnoDB:设计目标就是面向在线事物处理(OLTP),所以支持事物,另外行锁设计、支持外键、支持非锁定度,使用REPEATABLE隔离级别,用多版本并发控制(MVCC)获得高并发性,表中数据存储都采用用聚集的方式

MyISAM:表锁设计,支持全文索引,不支持事物、缓冲池只缓冲索引文件,适用于在线分析处理(OLAP)。

NDB:Sonny Ericsson公司开发的,是一个集群存储引擎、数据全放在内存中,MySQL5.1版本开始,可以将非索引数据放在磁盘上、NDB存储引擎的连接操作是在MySQL数据库层完成的,而不是在存储引擎层完成的。

Memory:以前称为HEAP存储引擎,数据全部放在内存中,非常适合用于存储临时数据的临时表,使用的索引不是一般存储引擎使用的B+索引而是哈希索引。

Archive:只支持INSERT和SELECT操作,数据都经zlibs算法高度压缩后存储,非常适合存储归档数据,使用行锁实现高并发的插入操作,不支持事物,设计目标主要是提供高速的插入和压缩。

Federated:不存储数据,只是指向另一台远程的MySQL数据库服务器上的表。

Maria:是对myisam的升级版,支持缓存,应用行锁,提供了MVCC功能和事物,对BLOB字符类型的处理加强了。

……

连接MySQL的方式

TCP/IP套接字:方式是MYSQL数据库在任何平台下都提供的连接方式,也是异地服务器和客户端必须用的方式。

命名管道和共享内存:这两种方式是同一台服务器下采用的方式,其实就是IPC方式。启用这两种方式都的在配置文件启用相应的配置项。

UNIX域套接字:和上面一样也是一种IPC方式,在同一台服务器上才可以使用。只需在配置文件中指定套接字文件的路径。

                                                                 --Edited by Dafanzi

转载请注明原文地址:http://blog.csdn.net/xiaofanzidafanzi/article/details/52444090