什么是存储引擎以及不同存储引擎特点

以前一直玩Oracle数据库,整天围着业务需求和执行计划转,刚刚接触mysql看到存储引擎不慎理解,相应会有与我相同人群存在,所以写文以记之。

首先简单从字面理解,想当是与磁盘打交道的,实际情况也是如此。一个数据库系统可以随意切换不同的存储引擎,也就是说随意选择写磁盘或操作磁盘的方式,觉得还是很牛掰的,所以这里看下Mysql的体系结构。

MySQL服务器采用了多层设计和独立模块,插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中,图中的Pluggable Storage Engines部分。采用MySQL服务器体系结构,由于在存储级别上(也就是Pluggable Storage Engines)提供了一致和简单的应用模型和API,应用程序编程人员和DBA可不再考虑所有的底层实施细节。因此,尽管不同的存储引擎具有不同的能力,应用程序是与之分离的。存储引擎就司职与文件系统打交道了。

到这里对与存储引擎的定位以及功能应该是基本了解的,接下来的疑问就是,有没有必要。很有必要的,因为一下罗列的内容是存储引擎处理的事情:

并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。

事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。

引用完整性:通过DDL定义的 外键,服务器需要强制保持关联数据库的引用完整性。

物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。

索引支持:不同的应用程序倾向于采用不同的索引策略,每种存储引擎通常有自己的编制索引方法,但某些索引方法(如B-tree索引)对几乎所有的存储引擎来说是共同的。

内存高速缓冲:与其他应用程序相比,不同的应用程序对某些内存高速缓冲策略的响应更好,因此,尽管某些内存高速缓冲对所有存储引擎来说是共同的(如用于用户连接的高速缓冲,MySQL的高速查询高速缓冲等),其他高速缓冲策略仅当使用特殊的存储引擎时才唯一定义。

性能帮助:包括针对并行操作的多I/O线程,线程并发性,数据库检查点,成批插入处理等。

其他目标特性:可能包括对地理空间操作的支持,对特定数据处理操作的安全限制等。

以上要求会在不同的需求中予以体现,通过单独一个系统实现是不可能的,以上特点有些本身就是相互矛盾的,鱼和熊掌的问题。对以上内容做些选择,形成的存储引擎就是一个插件引擎了,某些特定的需求可以使用。如下图,部分现有的存储引擎以及基本特点:

至此,应该对存储引擎有一个直观的印象了。对了,还有一点需要格外注意的: Mysql中不同的表可以指定不同的存储引擎,也就是说一套Mysql服务器可以同时使用N种不同的存储引擎,甚至自己写一个。

欢迎大家阅读《什么是存储引擎以及不同存储引擎特性_mysql》,跪求各位点评,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

oracle有不同的存储引擎吗,什么是存储引擎以及不同存储引擎特性_mysql相关推荐

  1. oracle层级关系按列存储_几张图看懂列式存储

    最近看到一篇很好资料,里面三言两语配上几个图就把列式存储(Column-based Storage)讲明白了,牛啊!最喜欢的就是这种浅显易懂就把背景知识讲得明明白白,而不是长篇大论的讲概念. 1 为什 ...

  2. MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)

    MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎 1.存储引擎其实就是如何实现存储数据 ...

  3. LayaAir引擎放弃Canvas API,打造次世代3D引擎与云游戏引擎,提供AI赋能!

    LayaAir引擎放弃Canvas原生API,并不等于放弃2D,而是为更好的发展2D和3D!那为什么要放弃Canvas原生API,以及LayaAir引擎未来的发展规划,这里我们来和大家聊一聊! 1.C ...

  4. 存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储

    存储结构分四类:顺序存储.链接存储.索引存储 和 散列存储. 顺序结构和链接结构适用在内存结构中. 顺序表每个单元都是按物理顺序排列的,如果你想访问那个单元你可以根据提供的指针等直接访问到需要的东西, ...

  5. 对象存储使用案例_连云数据都有“对象存储”了,你还是单身?

    没错,对象存储(OOS,Object-Oriented Storage)可不是一项"在你嫌男票/女票烦的时候暂时寄存的服务",而是中国电信为客户提供的一种海量.弹性.高可靠.高性价 ...

  6. 对象存储使用案例_杉岩MOS海量对象存储中标福建移动

    近日,杉岩数据成功中标中国移动福建公司(以下简称福建移动)企业级IT云四期对象存储采购项目,将对接福建移动IT云资源池,对外提供对象存储服务.作为领先的综合智能信息服务运营商,近年来,中国移动福建公司 ...

  7. [vue] 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解

    [vue] 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解 模板引擎: 负责组装数据,以另外一种形式或外观展现数据. 优点: 可维护性(后期改起来方便): 可扩展性(想要 ...

  8. ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

    // 留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单 // 内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓 ...

  9. android存储视频文件夹在哪,Android 中 视频存储路径的一个方案

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在进行视频的下载时,我们经常会面临存储路径的选择,选择一个好的存储路径能对Android系统中的内存起到优化的作用.主流app下载路径分析和常见的 ...

最新文章

  1. mysql-5.7.24初始化数据库_MySQL5.7.28 初始化数据库
  2. 选择用户-显示已选用户
  3. php 修改多级菜单,用PHP实现多级树型菜单
  4. 软件实施提升效率的五个工具
  5. 北京语言大学计算机科学与技术研究生好考吗,北京语言大学计算机科学与技术专业研究生培养方案...
  6. 让VS2010支持Windows2000
  7. 数据可视化软件有什么特点
  8. bzoj 4289 TAX —— 点边转化
  9. 微信小程序template模板 ,提高效率第二篇
  10. 航空公司VIP客户查询
  11. 快速了解德国TRINAMIC运动控制芯片(TMC电机驱动芯片)
  12. 末学者笔记--Python函数三玄
  13. 弘辽科技:拼多多店铺层级会掉吗?怎么划分?
  14. Linux下压缩/解压缩的命令
  15. VB 从零开始编外挂
  16. Dart基础语言 — Runes
  17. lambda函数--(Python实现货币兑换案例)
  18. 开源,阿里内部Spring Cloud Alibaba微服务神仙文档(全彩版)
  19. 手动搭建服务器—Python
  20. Less学习笔记(尚硅谷前端less教程)

热门文章

  1. C# imgage图片转base64字符/base64字符串转图片另存成
  2. web前端和Java后端有什么区别?
  3. oracle删除重复数据(部分重复,完全重复)
  4. 【有利可图网】PS教程:制作超级简单的翘边翻页效果
  5. 金融行业数据分类分级“五步走” | 盾见
  6. flairNLP / flair
  7. 成功解决洗衣机莫名其妙的F1错误
  8. pyecharts可视化:爱情公寓==爱情公墓?
  9. RF射频线线损测量方法
  10. 实例39:用胶囊网络识别黑白图中的服装图片