Mysql的InnoDB引擎-1.引擎介绍

定义数据库以及实例

数据库:物理操作系统文件或其他形式文件类型的合集。在NDB引擎时候,数据库文件可能不是操作系统上的文件,而是存放在内存之中的文件,但是定义是不变的。

实例:Mysql数据库由一个后台线程以及一个共享内存区组成。共享内存可以被运行的后台线程锁共享。数据库实例才是真正用于操作数据库文件的。

mysql中的实例和数据库是保持一一对应的关系,即一个实例对应一个数据库,但是集群中可能存在一个数据库被多个实例使用的情况。

mysql的连接

TCP/IP套接字方式是Mysql数据库在任何平台下都提供的连接方式。

mysql的配置文件读取

mysql的配置文件由很多,后缀名为.cnf,如果多个配置都有一个参数的话,那么以最后一个读取到的配置文件为准。

mysql的组成

  • 连接池组件
  • 管理服务和工具组件
  • SQL接口组件
  • 查询分析器组件
  • 优化器组件
  • 缓冲组件
  • 插件式存储引擎
  • 物理文件

Mysql的存储引擎

Mysql独有的插件式存储引擎是Mysql区别于其他数据库的最重要的特性。存储引擎的好处是每个引擎有不同的特点,能根据不同的具体应用建立不同的存储引擎表。

名称 特点
InnoDB 设计目标是面向在线事物(OLTP)处理的应用,支持行锁,支持外键,并支持非锁定读,不支持全文索引。(5.5.8之后的默认引擎)
MyISAM 不支持事物,表锁设计,支持全文索引。
NDB 是一个集群引擎,NDB的连接操作是在Mysql数据库层完成,不是在存储引擎层实现,这意味着需要很大网络开销进行连接。
Memory Memory引擎将表中的数据存放在内存中,如果数据库重启,数据将消失,适合存储临时表以及数据库中的纬度表,Memory存储引擎默认使用哈希索引,而不是B+Tree索引
Archive 只支持Select和Insert操作,使用zlib算法进行压缩存储。适合存储归档数据,如日志信息等。
Federated 不是存放数据的引擎,是指向一台远程Mysql数据库服务器上的表,只支持Mysql数据库表之间的只想,不支持异数据库表。
Maria 为了取代MyISAM引擎而开发的引擎。特点是支持缓存数据以及索引文件。应用了行锁设计,支持了事物。
其他引擎 Merge、CSV、Sphinx、Infobright

 

OLTP:联机事物处理。

猜你喜欢

转载自www.cnblogs.com/wangb0402/p/12705017.html