首页 > 数据库 >[转载]关系型数据库和非关系型的区别

[转载]关系型数据库和非关系型的区别

时间:2023-10-31 10:00:28浏览次数:36  
标签:关系 存储 数据库 SQL 格式 转载 数据

一、关系型数据库:
关系型数据库是指采用关系模型来组织数据信息的数据库。
其实就是二维表,它是多个二维数组的集合,我们将数据存储在表格中,通过建立表格与表格之间的关系来维护数据间的关系。
优点:
1.容易理解:相对于其他模型(网状、层次)更容易理解,因为二维数组的逻辑更符合逻辑世界的概念。
2.使用方便:统一通过SQL语言,操作数据库方便。
3.易于维护:都是表结构,格式统一。
缺点:
1.为了维护一致性,读写性能差,主要体现在高并发和海量数据的读写。
2.扩展性差,表结构固定。
常见关系型数据库:Mysql、Oracle、PostgreSQL、SQL Server、Access、Sybase
二、非关系型数据库:
非关系型数据库是指采用键值对的模型来存储数据。
严格上来说,非关系型数据库不是一种数据库,它只完成数据的记录,不会记录数据与数据之间的关系。NoSQL(Not only SQL)数据库来指代非关系型数据库。
优点:
1.格式灵活:存储格式可以是key-value、文档等格式。
2.性能优越:非关系型数据库可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
3.成本低:基本都是开源,部署成本快。
缺点:
1.不支持sql,学习和运用成本较高。
2.无事务处理机制,无法回滚。
3.数据结构导致复杂查询不易实现。
常见非关系型数据库:Redis、MongoDB、BigTable、MemcacheDB等
三、总结
关系型数据库和非关系型数据库的区别:
1.数据存储方式:非关系型数据库的存储方式是KEY-VALUE的形式、文档等形式,而关系型数据库只支持单一的存储方式。
2.查询效率:关系型数据库存储于磁盘,非关系型数据库存储于缓存,效率比关系型数据库更高。
3.事务:关系型数据库支持事务处理,可进行事务回滚

作者:技术大牛
链接:https://zhuanlan.zhihu.com/p/476015017
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:关系,存储,数据库,SQL,格式,转载,数据
From: https://www.cnblogs.com/workbox/p/17799611.html

相关文章

  • 第十章 数据库连接池与DBUtils工具
    目录一.单选题(共5题,50分)二.判断题(共5题,50分)一.单选题(共5题,50分)(单选题)已知,存在QueryRunner对象runner,SQL语句:Stringsql="select*fromuserwhereid=?";下面操作中,能实现查询指定记录的选项是()A.Useruser=(User)runner.query(sql,newBeanListHandler(User.c......
  • 高级数据库建模与设计笔记
    1、需求文档2、数据流图3、数据字典4、概要设计5、逻辑设计(本课程只到这一步) 数据流图:方框里是角色,圆里是动作,箭头是信息的变换,长等号上面是待修改的信息。数据字典:是个列表。它不只说明字段,而是对数据流中各个元素进行说明。 新感悟:设计表时,面对数据流图,应该先看靠近......
  • 用migrate将映像数据写入数据库常见问题01
    django开发时,models.py文件创建正常,makemigrations也正常,但migrate却提示没有需要迁移的数据,查看sqlite数据库也没有建立相应的数据表。相关文件#coding:utf-8#file-name:models.pyfromdjango.dbimportmodelsclassDepartment(models.Model): '''部门表''' title=mode......
  • 备份数据库文件至OSS服务(纯shell脚本无sdk)
    背景:凡事使用服务器搭建的网站就需要定时备份网站数据,常见的方法是打包网站目录,然后备份到FTP服务器上等。也有通过OSSSDK把备份的网站文件上传到OSS服务器上,但是通过SDK来实现,需要一定的技术能力,而且相对比较复杂,需要使用更多的文件,而这篇文章是通过shell脚本,并不是通过OSSSDK......
  • 数据库JDBC
    1.JDBCjavadatabaseconnectivityjava数据库的连接。java中针对操作数据库,提供的⼀套规范,⽐如⼀些接⼝。2、.jar包(8.x的,5.x的)3、操作DriverManager注册驱动创建连接。Connection数据库的连接对象。Statement执⾏sql语句的对象。Result查询......
  • 【转载】Mysql8授予某个用户某个数据库的权限
    参考chatgpt3.5环境软件/系统版本说明mysql8.0.28正文要在MySQL中授予某个用户对某个数据库的权限,你可以使用以下SQL语句:GRANT权限列表ON数据库名.表名TO'用户名'@'主机名';下面是这个语句的各个部分的解释:权限列表:这是你要授予用户的权限列表,可......
  • 使用mysqldump进行数据库备份实战遇到的问题
    [root@mysql~]#mysqldump-uroot-pdb_shop>/opt/db_shop.sqlEnterpassword:mysqldump:Couldn'texecute'SHOWVARIABLESLIKE'gtid\_mode'':Table'performance_schema.session_variables'doesn'texist(1146)原......
  • openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema
    openGauss学习笔记-110openGauss数据库管理-管理用户及权限-SchemaSchema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。每个数据库包含一个或多个Schema。......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • 数据库【分库分表】
    一、场景    由于用户数量越来越大会出现以下问题:订单量剧增,单表数据量已经达到了千万的级别了,这个时候的索引查询已经很慢了,所以现在我们的类似这些大数据表的查询性能很差。数据量持续增加,现在我们的磁盘大部分空间都被使用,导致数据库的复制备份操作很缓慢,所以,目前数......