(1)问题分析
面试官主要考核Mongodb和MySQL数据库的特点,以及关系型与非关系型数据库。
(2)核心问题讲解
MySQL属于关系型数据库,它具有以下特点:
在不同的引擎上有不同的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,MySQL的份额也在持续增长。
处理海量数据的效率会显著变慢。
Mongodb属于非关系型数据库,它具有以下特点:
数据结构由键值对组成。
存储方式:虚拟内存+持久化。
查询语句是独特的Mongodb的查询方式。
可以通过副本集、分片来实现高可用。
数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
新兴数据库,成熟度较低。
(3)问题扩展
关系型数据库可以理解为依赖一个模型来创建的数据库,比如我们使用的MySQL中的表是由横列和纵列组成的一个二维表格。关系型数据库可以通过关系模型使多个表的数据关联起来,比如我们平时说的 一对一、一对多、多对一。由于是建立在数据模型的基础上,所以我们可以通过SQL语句很方便的在多个表之间做复杂的查询操作。关系型数据库相对安全,因为直接存储在硬盘中所以突然的宕机、停电等意外不会导致数据丢失