NoSQL数据库使用场景以及架构介绍

这篇具有很好参考价值的文章主要介绍了NoSQL数据库使用场景以及架构介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


NoSQL数据库使用场景以及架构介绍,系统架构设计师,nosql,架构,数据库,系统架构师,redis

其它相关推荐:
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构(Lambda架构、Kappa架构)

所属专栏:系统架构设计师文章来源地址https://www.toymoban.com/news/detail-738687.html

一. 什么是NoSQL?

NoSQL(Not-onlySQL):不仅仅只是SQL,泛指非关系型的数据库。
NoSQL数据库使用场景以及架构介绍,系统架构设计师,nosql,架构,数据库,系统架构师,redis

是对关系型数据库的补充和完善,它不使用传统的表格模式,而是使用其他的数据模型来存储数据。NoSQL数据库非常适合处理大规模的非结构化或半结构化数据,具有高可扩展性、高灵活性、高性能、高可用性等特点。常见的NoSQL数据库包括MongoDB、Cassandra、Redis等。

二. NoSQL分类

  1. 键值(key-value)
  • 这种类型的数据库有Redis、Memcached、Tokyo Cabinet/Tyrant、Voldement、Oracle BDB
  • 典型应用场景:内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
  • 数据模型:key 指向 value 的键值对,通常用hash table来实现。
  • 优点:查找速度快。
  • 缺点:数据无结构化,通常只被当作字符串或者二进制数据。
  1. 列存储数据库
  • 这种类型的数据库有Hbase、Cassandra、Riak
  • 典型应用场景:分布式的文件系统。
  • 数据模型:以列簇式存储,将同一列数据存在一起。
  • 优点:查找速度快,可扩展性强,更容易进行分布式扩展。
  • 缺点:功能相对局限。
  1. 文档型数据库
  • 这种类型的数据库有MongoDB、CouchDB
  • 典型应用场景:Web应用(与key-value类似,value是结构化的,不同的是数据库能够了解value内容)
  • 数据模型:key-value对应的键值对,value为结构化数据。
  • 优点:数据结构要求不严格,表结构可变,不需要像关系型数据库一样预先定义表结构。这种数据库类型按照文档格式(如JSON、XML等)来存储数据,数据之间可以有嵌套关系,具有更好的灵活性,支持各种复杂的数据结构。支持动态模式、可扩展性好、数据结构灵活。
  • 缺点:查询性能不高,而且缺乏统一的查询语法。
  1. 图形数据库(Graph)
  • 这种类型的数据库有Neo4J、InfoGrid、Infinite Graph
  • 典型应用场景:社交网络,推荐系统等。专注于构建关系图谱。
  • 数据模型:图结构。
  • 优点:利用图结构相关算法。比如最短路径寻址,N度关系查找等。
  • 缺点:很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式存的集群方案。

三. NoSQL与关系数据库有什么区别

对比维度 关系数据库 NoSQL
应用领域 面向通用领域 特定应用领域
数据容量 有限数据 海量数据
数据类型 结构化数据(二维表) 非结构化数据
并发支持 支持并发,但性能低 高并发
事务支持 高事务性 弱事务性
扩展方式 向上扩展 向外扩展

与关系型数据库相比,NoSQL数据库对数据之间的关系的处理更加灵活,因此可以满足更多种类的应用场景,例如大数据、云计算、分布式存储等。

四. NoSQL主要优势和缺点

主要优势:
(1)避免不必要的复杂性
(2)高吞吐量
(3)高水平扩展能力和低端硬件集群
(4)避免了昂贵的对象-关系映射

缺点:
(1)数据模型和查询语言没有经过数学验证
(2)不支持ACID特性
(3)功能简单
(4)没有统一的查询模型

五. NoSQL体系框架

NoSQL数据库整体框架分为四层,分别为数据持久层(data persistence)、整体分布层(data distribution model)、数据逻辑模型层(data logical model)和接口层(interface),这四层之间是相辅相成,协调工作。

数据持久层定义了数据的存储形式,主要包括基于内存、硬盘、内存与硬盘相结合、订制可插拔四种形式。基于内存形式的数据存取速度最快,但可能会造成数据丢失;基于硬盘的数据可能保存很久,但存取速度较基于内存的形式慢;内存和硬盘相结合的形式,结合了前两种形式的优点,既保证了速度,又保证了数据不丢失;订制可插拔则保证了数据存取具有较高的灵活性。

整体分布层定义了数据是如何分布的,相对于关系型数据库,NoSQL可选的机制比较多,主要有三种形式:一是CAP支持,可用于水平扩展。

数据逻辑模型层定义了数据之间的联系和操作方式,主要包括文档、键值对、图像、列存储等。

接口层定义了与数据访问相关的接口,包括查询、索引、事务、权限等。

NoSQL数据库使用场景以及架构介绍,系统架构设计师,nosql,架构,数据库,系统架构师,redis

其它相关推荐:
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构(Lambda架构、Kappa架构)

所属专栏:系统架构设计师

到了这里,关于NoSQL数据库使用场景以及架构介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 常见数据库介绍对比之NoSQL非关系型数据库

    常见的非关系型数据库(NoSQL)包括以下几种: MongoDB: MongoDB是最受欢迎的文档型数据库之一。它使用BSON(二进制JSON)格式存储数据,并提供灵活的数据模型和复杂的查询功能。MongoDB支持水平扩展和高可用性,并具有丰富的生态系统和工具支持。 CouchDB: CouchDB是另一个流行的

    2024年02月09日
    浏览(43)
  • Navicat 强大的数据模型功能 | 面向数据库设计、架构和数据资产梳理等使用场景

    数据模型是用来描述数据、组织数据和对数据进行操作的一组概念和定义。根据不同的应用需求,数据模型可以分为概念模型、逻辑模型和物理模型。这些数据模型帮助数据库设计人员设计和管理数据库,以满足用户的需求。 Navicat 强大的数据模型功能主要适用于 MySQL、Ora

    2024年02月09日
    浏览(50)
  • 【解惑】介绍三大数据库的with语句的写法及使用场景

    WITH 子句通常被称为 \\\"Common Table Expressions\\\"(CTE),俗称内存临时表,当使用 WITH 语句时,应注意具体的数据库版本和支持情况。以下是对 MySQL、Microsoft SQL Server(MSSQL)和 Oracle 数据库的 WITH 语句用法示例,以及在 WHERE 子句中添加分组关联条件实现对比最大聚合值: 在 MySQL5.

    2024年02月14日
    浏览(41)
  • 系统架构设计师考试论文:论NoSQL 数据库技术在现代软件项目中的应用与效果

            随着互联网 web2.0 网站的兴起,传统关系数据库在应对 web2.0 网站,特别是超大规模和高并发的 web2.0 纯动态 SNS 网站上已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL(Not only SQL )的产生就是为

    2024年02月11日
    浏览(47)
  • postgresql数据脱敏技术介绍以及使用字符替换数据库脱敏示例代码

    在 PostgreSQL 数据库中实现数据脱敏(Data Masking)可以帮助保护敏感数据的隐私和安全。数据脱敏是通过修改或替换敏感数据的方法来隐藏或模糊数据的真实值,以防止未经授权的访问者获取敏感信息。 以下是一些常见的 PostgreSQL 数据库脱敏技术: 数据加密:使用加密算法对

    2024年02月16日
    浏览(48)
  • NoSql数据库及使用Python连接MongoDB

    NoSQL 数据库是非关系数据库,不使用结构化查询语言 (SQL) 进行数据操作。相反,他们使用其他数据模型进行访问和数据存储。SQL 数据库通常用于处理结构化数据,但它们可能不是处理非结构化或半结构化数据的最佳选择。 NoSQL 数据库提供了快速高效地存储和检索大量数据的

    2024年02月09日
    浏览(109)
  • postgresql 使用之 存储架构 触摸真实数据的存储结构以及组织形式,存入数据库的数据原来在这里

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 个人主页 :我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. postgresql 数据库服务运行时,数据在磁盘上是如何存储的呢?这就涉及到了存储架构。 在文件系统中,我们可以看到以目录和文

    2024年02月14日
    浏览(39)
  • Star 8K+,使用.NET开发的开源NoSQL数据库

    LiteDB 是一个轻量级、快速、易用的 .NET NoSQL 嵌入式数据库,完全用 C# 托管代码开发,并且是免费和开源的。它非常适合在移动应用(Xamarin iOS/Android)和小型的桌面/Web 应用中使用。 简单易用的 API,类似于 MongoDB 100% C# 代码,支持 .NET 4.5 / NETStandard 1.3/2.0,其核心代码只有不到

    2024年01月21日
    浏览(50)
  • 《向量数据库指南》——腾讯云向量数据库Tencent Cloud VectorDB产品特性,架构和应用场景

    腾讯云向量数据库(Tencent Cloud VectorDB)是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据。该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不仅能为大模

    2024年02月14日
    浏览(51)
  • MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明

    MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 MySQL笔记——表的分组查询、表的分页查询、表的约束、数据库设计 MySQL案例——多表查询以及嵌套查询 MySQL笔记——数据库当中的事务以及Java实现对数据库进

    2024年01月16日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包