关系型数据库的问题和NoSQL数据库的应用

1.关系型数据库的问题

系统使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。系统投入使用后,初期用户数量少,系统运行平稳。一段时间后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:

(1)用户执行读写操作时,响应时间均变得很慢;

(2)随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;

(3)数据容量很快超过系统原有的设计上限,数据库扩容困难;

(4)软件系统不断出现宕机,整个系统可用性较差。

2.关系型数据库问题原因分析

其原因主要是:

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

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

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

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

3.NoSQL数据库的优点

针对问题(1),NoSQL数据库支持高并发数据访问,性能较高。

针对问题(2),NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。

针对问题(3),NoSQL数据库能够支持海量数据的存储,且易于横向扩展。

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

4.NoSQL数据库的缺点

采用NoSQL数据库时可能存在的问题有:

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

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

(3)NoSQL数据库不提供对SQL的支持,学习和应用迁移成本较高。

(4)NoSQL数据库支持的特性不够丰富,现有产品提供的功能比较有限。

相关推荐
怀旧66634 分钟前
spring boot 项目配置https服务
java·spring boot·后端·学习·个人开发·1024程序员节
这该死迷人的编程1 小时前
区块链:Raft协议
区块链·1024程序员节
独行soc16 小时前
#渗透测试#SRC漏洞挖掘#深入挖掘XSS漏洞02之测试流程
web安全·面试·渗透测试·xss·漏洞挖掘·1024程序员节
XuanRanDev19 小时前
【每日一题】LeetCode - 三数之和
数据结构·算法·leetcode·1024程序员节
鹏大师运维1 天前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
亦枫Leonlew1 天前
微积分复习笔记 Calculus Volume 1 - 4.7 Applied Optimization Problems
笔记·数学·微积分·1024程序员节
小肥象不是小飞象1 天前
(六千字心得笔记)零基础C语言入门第八课——函数(上)
c语言·开发语言·笔记·1024程序员节
一个通信老学姐1 天前
专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节
力姆泰克1 天前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克1 天前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节