系统架构设计师-关系型数据库与NoSQL数据库优缺点分析

关系型数据库问题:

1,用户响应时间慢

  大型社交网络系统要根据用户个性化信息来实时生成动态页面并提供动态信息,所以基本上无法使用动态页面静态化技术。数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强可以,但是应对上万次SQL写数据请求,磁盘I/O则无法承受。特别是设计多表连接操作,会导致响应变慢。

  NoSQL数据库支持高并发数据访问,性能较高。

2,数据格式变化

  大型社交网络系统随着用户的使用,会不断地增加新的功能,导致原有数据格式发生变化,甚至出现新的数据格式。但关系数据库中采用元组方式组织数据,难以使用新型数据格式,也难以维护。

  NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。

3,数据容量超过设计上限

  对于大型社交网络系统,往往会在很短时间内产生海量数据。关系数据库多采用中央数据存储,使得数据容量受限于前期设计的上限,很难实现数据容量的横向扩展。

  NoSQL数据库能够支持海量数据的存储,且易于横向扩展。

4,系统可用性差

  关系数据库采用中央数据存储,容易成为系统的性能瓶颈。单点故障很容易导致系统崩溃,负载过高往往导致系统出现宕机现象。

  NoSQL数据库基于分布式数据存储,不存在单点故障和性能瓶颈,系统可用性高。

NoSQL数据库的问题:

1,NoSQL数据库现有产品不够成熟,大多数产品处于初创期。

2,并未形成一定的标准,产品种类繁多,缺乏官方支持。

3,不提供对SQL的支持,学习和应用迁移成本较高。

4,支持的特性不够丰富,现有产品提供的功能比较有限。

posted @ 2021-10-21 14:56  光何  阅读(525)  评论(0编辑  收藏  举报