考核内容: 全栈工程师关于数据库的特点的考核
题发散度: ★★★
试题难度: ★★★
解题思路:
RDBMS即关系数据库管理系统
(Relational Database Management System)
是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统,
数据之间具有很强的逻辑性与相关性;可以建立视图等多表数据的处理;
主流的关系型数据库有Oracle、DB2、MySQL、Microsoft SQL Server、Microsoft Access等多个品种,
每种数据库的语法、功能和特性也各具特色。
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS)
非关系型数据库
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。是一个非关系数据库;主要功能是为海量的数据提供了存储,便于大数据的计算操作;
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。
为什么前端工程师要知道上面的知识呢?
因为前端最终也会发展为全栈工程师也要接触 服务器管理
如:nodejs express mongodb mysql 等等
这两种数据库没有谁好谁不好的问题,只有在合适的场景使用合适的数据库。
答案:
代码语言:javascript复制D、hadoop