什么是数据库存储引擎?

在网上收集一些资料并加入了一些自己的理解~
如果有写错的地方拜托大家帮忙指正!谢谢!

  1. 所谓存储引擎,就是用于存储数据的核心组件。
  2. MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。(MySQL入门教程:数据存储引擎简介)
  3. 所以我们用SQL语句对数据进行操作,好像是我们的SQL语句对数据进行了直接操作,但是呢,本质上是通过存储引擎来真正对数据进行操作。
  4. 存储引擎把怎么对数据操作什么的都封装好了,SQL语句更像是一个接口!你不用管存储引擎内部到底是怎样实现的,你只要会用SQL语句就好了!
  5. 例如MySQL有SQL语句分析层和存储引擎层,当分析出SQL语句需要执行什么操作后,调用存储引擎的接口即可。
  6. LevelDB就可以看成是一个存储引擎!
  7. 要用什么存储引擎是由实际业务决定的。因为不同的业务会对数据组织方式啊、数据操作啊有不同的需求,这要靠不同的存储引擎来实现。

你可能感兴趣的:(数据库,数据库,mysql,sql)