数据库入门之3张表对比关系型与非关系型数据库
数据库入门之3张表对比关系型与非关系型数据库
本期使用3张表将关系型与非关系型数据库进行比对,让大家了解主流数据库引擎的特征和适用场景:
1. SQL与NoSQL的典型引擎和区别
数据库类型 | SQL | NoSQL |
举例 | Oracle、SqlServer、MySQL、PostgreSQL等 | MongoDB、Redis、HBase等 |
存储结构 | 采用结构化表来存储数据 | 采用半结构化数据集存储数据 |
存储规范化&存储代价 | 通过更加规范化逻辑表来避免重复,获得最精简的空间,但数据操作往往涉及多个表,数据管理复杂。 | 将数据存储在数据集中,数据经常可能存储重复,但数据更容易读写。 |
横向扩容能力 | 较弱 | 较强 |
事务性&纯扩展性 | 非常好的支持事务性 | 不支持或半支持 |
2. 关系型数据库特征及适用场景
数据库 | 特征 | 适用场景 |
MySQL | 最广泛、流行的开源数据库,支持多插件式存储引擎、灵活、多平台,支持水平拆分。 | 支持高并发,简单的绝大部分OLTP场景,单实例数量级不易过大,非常适合大规模数据库场景相对简单的互联网行业。 |
SQL Server | 与微软体系紧密结合的商业关系型数据库,大多数操作通过图形界面完成,支持共享存储方式的数据库集群,可通过硬件进行垂直升级。 | 适用于应用端采用微软体系的大多数OLTP场景。 |
Oracle | 目前市面上功能最强大、最复杂的商业数据库,有一套完整监控管理体系,支持多种高可用方案。 | 适用于稳定性、安全性要求非常高的OLTP场景,如银行、金融行业。 |
PostgreSQL | 目前功能最强大的开源数据库,支持多平台、多种高可用方案,但国内社区活跃度有待进一步增强。易用性介于mysql与oracle中间。 | 支持绝大多数高并发OLTP场景,国内大规模应用的案例相对较少,适合作为oracle与mysql之间的折中方案。 |
3. 关系型数据库特征及适用场景
数据库 | 特征 | 适用场景 |
MongoDB | 主流的文档型NoSQL数据库,开源,多平台。 | 适用于更新迭代快、需求变更多、以对象为主的网站应用、小文件系统、日志分析系统等。 |
Redis | 主流的内存数据库,性能高,稳定性好。 | 适用于对命令响应速度要求高,热点数据规模小、读取频繁的场景。 |
Hbase | 主流的海量列式存储型NoSQL数据库。 | 适用于简单数据写入和海量、简单数据查询的业务场景,多用于OLAP场景。 |
更多数据库学习内容请访问华为云学院(https://edu.huaweicloud.com/courses/)报名学习数据库相关课程。
- 点赞
- 收藏
- 关注作者
评论(0)