当前位置: 首页 > news >正文

关系型数据库的问题和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数据库支持的特性不够丰富,现有产品提供的功能比较有限。

http://www.lryc.cn/news/206486.html

相关文章:

  • 二进制安装k8s
  • 超简洁ubuntu linux 安装 cp2k
  • 判断日期区间或季节等
  • 入门人工智能 —— 学习数据持久化、使用 Python 将数据保存到mysql(7)
  • c语言从入门到实战——分支和循环
  • 交易所(Exchange, ACM/ICPC NEERC 2006, UVa1598)rust解法
  • shell_51.Linux获取用户输入_无显示读取,从文件中读取
  • NOIP2023模拟2联测23 集训
  • 【设计模式】第3节:设计模式概论
  • 风力发电功率预测(CEEMDAN-LSTM-CNN-CBAM模型,Python代码)
  • 精通代码复用:设计原则与最佳实践
  • 【static + 代码块+toString打印对象】
  • 【vue3 】 创建项目vscode 提示无法找到模块
  • 盘点算法比赛中常见的AutoEDA工具库
  • ICLR 2023丨3DSQA:3D 场景中的情景问答
  • ChatGPT的前世今生:从概念到现实的AI之旅
  • MINA架构DEMO
  • Linux基础:2:shell外壳+文件权限
  • webpack 解决:TypeError: merge is not a function 的问题
  • datahub 中血缘图的实现分析,在react中使用airbnb的visx可视化库来画有向无环图
  • 二、判断语句
  • 龙智汽车行业客户案例:Jira数据中心版助客户解锁高效项目管理
  • 03 vi编辑器
  • Web界面自动化操作工具 - Selenium常见用法
  • Openssl数据安全传输平台009:加密理论基础:哈希/非对称加密RSA/对称加密AES
  • iPhone开发--Xcode15下载iOS 17.0.1 Simulator Runtime失败解决方案
  • Galaxy生信云平台|Maftools高效地汇总、分析、注释和可视化肿瘤基因突变MAF文件...
  • JS三种常见的存储机制
  • 【Python机器学习】零基础掌握BaggingClassifier集成学习
  • [晕事]今天做了件晕事26;gcc对strcmp/strncmp的优化