NoSQL数据库使用场景以及架构介绍-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
其它相关推荐
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构Lambda架构、Kappa架构
所属专栏系统架构设计师
一. 什么是NoSQL
NoSQL(Not-onlySQL)不仅仅只是SQL泛指非关系型的数据库。
是对关系型数据库的补充和完善它不使用传统的表格模式而是使用其他的数据模型来存储数据。NoSQL数据库非常适合处理大规模的非结构化或半结构化数据具有高可扩展性、高灵活性、高性能、高可用性等特点。常见的NoSQL数据库包括MongoDB、Cassandra、Redis等。
二. NoSQL分类
- 键值key-value
- 这种类型的数据库有Redis、Memcached、Tokyo Cabinet/Tyrant、Voldement、Oracle BDB
- 典型应用场景内容缓存主要用于处理大量数据的高访问负载也用于一些日志系统等等。
- 数据模型key 指向 value 的键值对通常用hash table来实现。
- 优点查找速度快。
- 缺点数据无结构化通常只被当作字符串或者二进制数据。
- 列存储数据库
- 这种类型的数据库有Hbase、Cassandra、Riak
- 典型应用场景分布式的文件系统。
- 数据模型以列簇式存储将同一列数据存在一起。
- 优点查找速度快可扩展性强更容易进行分布式扩展。
- 缺点功能相对局限。
- 文档型数据库
- 这种类型的数据库有MongoDB、CouchDB
- 典型应用场景Web应用与key-value类似value是结构化的不同的是数据库能够了解value内容
- 数据模型key-value对应的键值对value为结构化数据。
- 优点数据结构要求不严格表结构可变不需要像关系型数据库一样预先定义表结构。这种数据库类型按照文档格式如JSON、XML等来存储数据数据之间可以有嵌套关系具有更好的灵活性支持各种复杂的数据结构。支持动态模式、可扩展性好、数据结构灵活。
- 缺点查询性能不高而且缺乏统一的查询语法。
- 图形数据库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支持可用于水平扩展。
数据逻辑模型层定义了数据之间的联系和操作方式主要包括文档、键值对、图像、列存储等。
接口层定义了与数据访问相关的接口包括查询、索引、事务、权限等。
其它相关推荐
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构Lambda架构、Kappa架构
所属专栏系统架构设计师
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |