数据库引擎(DataBaseEngine)
我们现在通用的大多数数据库的核心服务都是数据库引擎,比如MySQL,Access,MySQL,但是Oracle数据库没有引擎的概念。
那么数据库引擎到底是什么呢?
其实数据库引擎的实质就是底层的软件组织。
我们知道计算机上的应用程序与应用程序之间,应用程序与硬件之间有许多驱动程序,用以数据通信。其实数据库引擎也相当于数据库管理系统的驱动,同样遵循OPC通信标准。
数据库中的数据以各种文件的形式存放在电脑硬件磁盘上,当我们不管通过何种方式想访问数据时(可以是通过数据库管理系统访问数据,也可以是通过应用程序访问数据),都需要先经过数据库引擎,由数据库引擎先将sql语句转化为对数据库的操作,然后再将结果返回给用户。
在数据库管理系统中直接写sql语句即可调用数据库引擎获取数据访问及操作。在应用程序中会根据应用程序开发语言的不同而有所不同,比如Java语言开发的应用程序用JDBC就是在调用数据库引擎。
我们在前一篇介绍数据库实例的文章中提到,有人把数据库实例直接概括成数据库服务引擎。数据库实例是用户访问操作数据的通道,而数据库引擎就是这个操作的直接接口,所以说实例算是服务器引擎也不为过。不过实例范围还更广些,它还包括操作系统分配给他的内存块。
简要概括,数据库引擎就是底层的软件模块,是用户操作数据的接口,是数据库管理系统用于存储、处理和保护数据的核心服务。
如果开发能力强的话,完全可以利用MySQL+API来创建自己的数据库引擎,开发程序时可以自行调用。
愿我们共同进步,都越来越强。