mysql存储引擎结构,Mysql体系结构和存储引擎(一)

Mysql是一个可移植的数据库,几乎在所有的平台上都能运行Windowns,Mac,Linux等等。。

数据库和数据库实例的区分:

数据库:数据库是物理操作系统文件的集合,文件是以frm,MYD,MYI结尾的。

数据库实例:mysql有后台线程 一个共享内存区组成。数据库实例才是真正操作数据库文件的。

mysql:是一个单进程多线程的数据库,(Sql server也是),Oracle 在windowns 下也是(其他环境为多进程),

mysql 和 oracle 之间的区别

mysql启动的时候会读取配置文件 默认加载的顺序为(可以使用 mysql --help|grep my.cnf 命令来查看):

/etc/my.cnf -->/etc/mysql/my.cnf -->/usr/local/my.cnf -->~/etc/my.cnf

会根据当前 配置文件的参数来启动数据库,如果在启动的时候 找不到 改文件,会加载 默认的配置文件,Oracle 不行,Oracle 如果在启动的时候 找不到文件 则 会报错,

Mysql体系结构

b09f0e0c87fe

Mysql体系结构

1.连接池组件

2.管理服务和工具组件

3.Sql接口组件

4.查询分析器组件

5.Caches(缓冲)组件

6.优化器组件

7.插件式存储引擎

8.物理文件

Mysql区别于其他数据库最重要的一点就是,插件式存储引擎,

当然,存储引擎是基于表的,而不是基于数据库的

InnoDB存储引擎:

特点:行锁设计,全文索引,支持外键,非锁定读取,支持事务,多版本并发控制(MVCC),Sql特点的4中隔离级别,插入缓冲,二次写,自适应哈希索引,和预读等功能,对于表中的数据 ,采用聚集的方式,按照主键的顺序进行存放,如果没有主键 每行会产生一个6个字节的RowId,并作为主键

MyISAm存储引擎

特点:表锁设计,全文索引,不支持事务 由两部分组成 MYD 用于存储数据文件 MYI用于存储索引文件,

NDB存储引擎

特点:是一个集群存储引擎,将所有的数据放在内存中,因此主键查找 极为快速和方便,弊端:join 的操作是在数据库层完成的,并不是在存储引擎层完成的 ,于是就带来的巨大的网络开销,因此查询速度很慢。

Memory存储引擎

特点:将表中的数据放入到内存中,数据库重启或者崩溃 数据将不存在,速度快,只支持表锁,并发性能差,

Archive存储引擎

特点:只支持Insert和Select操作,支持索引(5.1版本后),将数据进行压缩,压缩比:1:10,非常适合归档数据,如:日志信息。支持行锁,可以高并发插入操作,不支持事务,主要是提供高速的插入和压缩的功能。

存储引擎之间的比较:

b09f0e0c87fe

不同Mysql存储引擎相关特性比较

Mysql的连接:

其实是一个连接进程和一个mysql数据库实例进行通信。进程和进程之间的通信方式:管道和套接字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值