关系型数据库和非关系型数据库的详细分析_关系数据库和非关系数据库-程序员宅基地

技术标签: database  数据库  nosql  

前言

数据库分为关系型数据库和非关系型数据库

补充关于二维表格组成的数据中常见的定义:

  • 关系:二维表
  • 元组:二维表中行(数据库称为记录)
  • 属性:二维表中列(数据库称为字段),其属性的取值范围叫做 ”域“

1. 定义

  • 关系型数据库:指采用了二维表格模型来组织数据的数据库,也就是由二维表及其之间的联系所组成的一个数据组织
  • 非关系型数据库:分布式且一般不保证遵循ACID原则
    (补充一下ACID 即为)
    在这里插入图片描述
    此部分摘录于我之前的文章
    数据库中事务(Transaction)的详解

关于非关系型数据库:
以键值对存储,结构不固定,每一行可有不一样的列,不局限于固定结构,可减少时间空间花销

2. 优缺点

  • 关系型数据库

优缺点如下:
优点:

  1. 易于维护(格式一致)
  2. sql通用,适用简易,而且也支持复杂操作(一个表以及多个表之间非常复杂的查询)

缺点:

  1. 读写性能比较差,如果遇到大数据的高效率读写
  2. 结构固定,导致灵活性很低
  • 非关系型数据库

优缺点如下 :
优点:

  1. 根据自已添加的字段获取用户不同信息。不像关系型数据库要多表关联查询
  2. 扩展性高,适用SNS中,一些软件上功能系统的提升。因为其结构问题,严格上不是一种数据库,是一种数据结构化存储方法的集合
  3. 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘
  4. 成本低:nosql数据库部署简单,基本都是开源软件

缺点:

  1. 数据结构相对复杂,对于需要进行较复杂查询的数据,关系型数据库显的更为合适
  2. 不适合持久存储海量数据
  3. 无事务处理;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47872288/article/details/121917162

智能推荐

pycallgraph 安装失败,一直报subprocess-exited-with-error-程序员宅基地

文章浏览阅读5.2k次,点赞17次,收藏11次。两个方式安装pycallgraph均报subprocess-exited-with-error异常_graph 安装失败

android简单实例--------普通菜单optionMenu,上下文菜单ContextMenu,弹出式菜单的使用PopuMenu(一)_android optionmenu popmenu-程序员宅基地

文章浏览阅读1.1k次。放一些android中三种菜单的使用,包括最常见的菜单栏,还有上下文菜单ContextMenu,以及弹出式菜单PopupMenu的简单应用与对应方法参数详解。-------------------------------------------------------第一种:普通菜单栏 :optionMenu先看效果图:核心代码: @Override public b_android optionmenu popmenu

个人博客-2(用户信息修改)_map 和session怎么修改个人信息-程序员宅基地

文章浏览阅读606次。用户信息修改修改登录名和昵称先从session中获取已登录用户的登录名和昵称显示在输入框中用户可以根据原信息进行修改使用ajax异步交互profile.html<form role="form" id="userNameForm"> <div class="form-group col-sm-8"> <div class="alert alert-danger" id="updateUserName-info" style="_map 和session怎么修改个人信息

html5中加粗元素,CSS去掉b加粗和strong加粗标签样式-程序员宅基地

文章浏览阅读363次。DIVCSS5教大家如何使用DIV+CSS去掉html中b加粗和strong加粗样式2、语法去掉对象加粗:font-weight:normal文字字体加粗:font-weight:bold更多css加粗-css font-weight知识:http://www.divcss5.com/rumen/r122.shtml3、CSS去除html b和html strong加粗样式案例去除html加粗标签..._html样式值加粗,不用b

基于粒子群算法的配电网重构研究matlab程序_基于改进混沌粒子群算法的配电网重构方法研究-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏18次。基于粒子群算法的配电网重构研究matlab程序(本文未考虑分布式电源)摘要:使用基本环矩阵编码的智能优化算法在处理配电网重构问题中,通常使用无序的解空间,解空间中局部峰值较多,使得智能优化算法难以发挥自身优势,耗时严重且难以寻找到最优解。针对以上问题,提出一种有序环网编码方式,并基于粒子群算法求解配电网的重构。用粒子群算法求解 IEEE 33 配电网,有效地降低系统网损并且提高了系统内的最低电压。经验证,该方法有效可行、算法简单、快速性高,得到的结果更优。关键词:配电网重构;粒子群算法;有序环网1_基于改进混沌粒子群算法的配电网重构方法研究

html <object>标签_html object 控件-程序员宅基地

文章浏览阅读1.9k次。document.write('

随便推点

计算机能力运用培养的论文,创新能力论文,关于在计算机教育中培养学生能力相关参考文献资料-免费论文范文...-程序员宅基地

文章浏览阅读113次。导读:该文是关于创新能力论文范文,为你的论文写作提供相关论文资料参考。内容摘 要:随着我国科技水平的不断进步,计算机已经成为了一种常用的科技产品,并且进入到我们的每个家庭中,和人们的生活以及工作产生了密不可分的关系.对于进入高中阶段的在校学生,依旧要对计算机进行进一步的学习.本文对高中计算机课程教学中出现的问题和学生创新能力的培养进行了分析,并提出了解决问题的相关建议,对高中计算机的教学具有一定参..._大学生计算机应用创新能力培养的分析参考文献

转型后的运维太叛逆了!和研发又打起来咋办?丨话题接力-程序员宅基地

文章浏览阅读410次。上一期提到,在云原生时代运维人员如何转危为机、应该精进哪些能力的话题:运维怕是要凉了???丨话题接力既然运维面临转型,整个运维团队的组织架构也少不了升级,那么在云原生时代,运维团队lead...

黑马程序员————Java基础日常笔记---IO流一_黑马java每日一记代码-程序员宅基地

文章浏览阅读866次。------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------黑马程序员————Java基础日常笔记---IO流一1.1 IO的由来:先什么是IO流呢?java对数据的操作; IO流用来处理设备之间的数据传输, 并且操作流的对象都在IO包中, 而对数据的操作: 读和写;IO流按照操作的数据分为:字节流与字符流(InputS_黑马java每日一记代码

解决问题:TypeError: only size-1 arrays can be converted to Python scalars-程序员宅基地

文章浏览阅读4.4k次,点赞6次,收藏2次。TypeError: only size-1 arrays can be converted to Python scalars关于opencv绘制3D直方图报错问题:要做个图像处理作业 在网上找了许多代码有关3d直方图的,代码都一样,拿来复制粘贴就好了。运行的时候出bug了,查了一下都没有解决办法,作为一个代码小白耐心看看代码,原来出错的原因也很简单哇!运行:ax.bar(pix_vals..._typeerror: only size-1 arrays can be converted to python scalars

美团面试_qinglangsu 美团-程序员宅基地

文章浏览阅读89次。redis写策略 oracle部分成功部分失败怎么办 redis失效命令失败怎么办,有异常处理吗有jvm调优经验吗,有遇到过oom吗强引用,弱引用等知道哪些垃圾回收器 G1 CMS 特点,用了什么回收算法concurrenthashmap put是synchronized的,get也是吗知道哪些地方用到了volatile, 比如concurrenthashmap里,哪..._qinglangsu 美团

PyCharm range用法-程序员宅基地

文章浏览阅读251次。2、range(0, 100, 10) # range 生成以10为间隔 [0, 100) 的数组。1、range(3) # range 生成 [0, 3) 即 0,1,2 这样一个数组。_pycharm range