关系型数据库与非关系型数据库

一、关系型数据库:

        关系型数据库是指采用了关系模型来组织数据的数据库。关系模型指的是二维(行和列)表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

      1、优点:

                1>容易理解,数据直观:二维表结构是非常贴近逻辑世界的一个概念,用二维表存储数据相对网状、层次等其他模型来说更容易理解;

                2>易于维护:丰富的完整性(实体完整性、域完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率。数据库事务必须具备ACID特性,即:Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性;

                3>使用方便:通用的SQL语言使得操作关系型数据库非常方便,更可以使用复杂的SQL进行一些复杂操作。

      2、缺点:

                1>固定的表结构,灵活度不够,每次新增字段时,都需要修改表结构;

                2>由于数据存储在硬盘上,读写性能差。尤其是高并发下的读写或者对海量数据进行查询时,磁盘I/O是一个很大的瓶颈;

        当今十大主流的关系型数据库:Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2,Microsoft Access,SQLite,Teradata,MariaDB(MySQL的一个分支),SAP。

二、非关系型数据库:

        也叫缓存数据库或NoSql,是将数据以键值对存储,且结构不固定地存储在缓存中。缓存的读取速度快,能够大大提高查询效率。非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。

      1、优点:

                1>格式灵活:存储数据的格式可以是key:value形式、文档形式、图片形式等等。使用灵活,应用场景广泛;

                2>速度快:NoSql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

                3>高扩展性;

                4>成本低:NoSql数据库部署简单,基本都是开源软件。

      2、缺点:

                1>不提供sql支持,学习和使用成本较高;

                2>无事务处理;

                3>只适合存储较简单的数据。

      3、分类:

        根据结构以及应用场合的不同,主要分为以下几类:

                1>面向高性能并发读写的key-value数据库:

                Key-value数据库是一种以键值对存储数据的数据库,类似数据结构中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个值。key-value数据库的主要特点是具有极高的并发读写性能。

                主流代表为Redis, Memcached,Amazon DynamoDB, Microsoft Azure Cosmos DB和Hazelcast。

                2>面向海量数据访问的文档数据库:

                文档存储通常使用内部表示法,可以直接在应用程序中处理,主要是JSON。JSON文档也可以作为纯文本存储在key-value数据库或关系数据库中。文档数据库的主要特点是在海量的数据中可以快速的查询数据 。

                主流代表为MongoDB,Amazon DynamoDB,Couchbase,Microsoft Azure Cosmos DB和CouchDB。

                3>面向搜索数据内容的搜索引擎:

                搜索引擎是专门用于搜索数据内容的NoSQL数据库管理系统。主要是用于对海量数据进行实时的处理和分析处理,可用于机器学习和数据挖掘。

                主流代表为Elasticsearch,Splunk,Solr,MarkLogic和Sphinx。

                4>面向可扩展性的分布式数据库:
这类数据库的
                关系型数据库都是以行为单位来存储数据的,擅长以行为单位的读入处理,比如特定条件数据的获取。因此,关系型数据库也被成为面向行的数据库。相反,面向列的数据库是以列为单位来存储数据的,擅长以列为单位读入数据。

                分布式数据库想解决的问题就是关系型数据库存在可扩展性上的缺陷。分布式数据库可以适应数据量的增加以及数据结构的变化,将数据存储在记录中,能够容纳大量动态列。由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储,具有很强的可拓展性。

                主流代表为Cassandra,HBase,Microsoft Azure Cosmos DB,Datastax Enterprise和Accumulo。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关系型数据库非关系型数据库有以下几个区别: 1. 数据关系关系型数据库支持多个表之间的连接查询(join),而非关系型数据库不支持连接查询。\[3\] 2. 数据一致性:关系型数据库强调数据之间的强关联性,并支持事务来确保数据的增删改查的强一致性,而非关系型数据库对数据的事务支持不好。\[3\] 3. 数据灵活性:关系型数据库是一种二维的数据结构,对一行的数据格式类型要求较高,而非关系型数据库的数据格式更灵活,数据字段类型也更灵活。\[3\] 4. 扩展性:非关系型数据库关系型数据库更容易扩展。\[3\] 5. 并发读写性能:非关系型数据库对大量的并发读写支持更好,性能更高,而关系型数据库由于IO瓶颈,高并发读写速度较慢,支持不好。\[3\] 总的来说,关系型数据库适用于需要强关联性和一致性的应用场景,而非关系型数据库适用于需要高并发读写和灵活性的应用场景。\[2\]\[3\] #### 引用[.reference_title] - *1* [关系型数据库关系型区别](https://blog.csdn.net/weixin_47061482/article/details/114819387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [关系型数据库非关系型数据库(2)](https://blog.csdn.net/xiaomgee/article/details/84553099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关系型数据库非关系型数据库的区别](https://blog.csdn.net/weixin_43697214/article/details/123863356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值