收集云服务器优惠信息
记录云服务器使用心得

基于云平台中的NoSQL数据库四种类型比较

针对社交网络、流媒体内容、新闻发布、零售和其它业务用途的全球可扩展在线服务的出现,极大地改变了对应用程序基础设施和软件架构的要求。最重大的变革之一是IT系统存储、组织和提供数据访问的方式。

主流关系数据库管理系统 ( RDBMS ) 软件,例如Oracle数据库和SQL Server可能不太适合需要分布式、横向扩展集群基础设施的Web应用程序。然而,NoSQL数据库更适合松散耦合的系统,在这种系统中,应用程序数据和可执行代码分布在多台机器上,或许还有数据中心上。它们还可以处理不太适合基于SQL的关系数据库的严格模式的数据集,而这种数据库最适合结构化数据。

NoSQL供应商的起源通常植根于开源社区,他们构建了各种类型的数据库来针对不同类型的数据和用例。Oracle、Microsoft和其它RDBMS供应商也最终开发了NoSQL数据库。现在,随着整个市场向云数据库转变,云原生开发已经站稳了脚跟:NoSQL数据库在云服务中广泛可用,既可用于自我管理的IaaS部署,也可用于供应商管理的数据库即服务(DBaaS)部署。

NoSQL

NoSQL优缺点

由于Web应用程序和服务是NoSQL开发背后的主要驱动力,因此各种类型的NoSQL数据库比RDBMS具有一些优势。其主要功能特点包括以下内容:

  • 处理各种数据类型的能力;
  • 在某些应用程序中更高的性能和更低的延迟;
  • 非常适合非结构化和半结构化数据,例如文本、图像、音频和视频;
  • 适用于大型工作负载和数据量的水平扩展能力;
  • 非常适合时间序列或其它流数据,例如事件日志和物联网数据;
  • 访问各种开源或低成本实施方案,这些实施方案的采购和运营成本比复杂的RDBMS更便宜。

然而,这些好处是以其它方式付出代价的。例如,关系数据库系统通过ACID模型确保更即时的数据一致性和可靠性,包括:原子性、一致性、隔离性和持久性。但是,NoSQL数据库通常遵循BASE模型,主要包括:基本可用性、软状态和最终一致性,尽管有些数据库现在支持ACID事务。

此外,NoSQL非关系数据库通常缺乏检查数据完整性的内置机制,在这种情况下必须在外部代码中完成。更重要的是,虽然许多NoSQL数据库包含一些SQL功能,但它们通常不支持复杂的SQL操作,例如复合选择语句或表连接

NoSQL数据库类型

正确看待NoSQL的方法不是将其视为某种类型的数据库,而是将其视为具有以下几种变体的总括类别:

  • 键值存储(Key-value store);该数据库将数据集组织为记录序列,其中包括与数据值配对的唯一键。它使用哈希表来存储键和指向关联值的指针,这些值可以是单个条目或具有多个元素的复杂数据对象。键值存储就像一本字典,每个键就像一个单词,值代表它的含义。
  • 内存缓存(In-memory cache);这是一种键值存储类型,旨在完全适合系统内存。这样做可以提高性能,并可能降低成本,因为无需扩展整个数据库来处理特定的应用程序功能或场景。
  • 文档数据库(Document database);它将数据对象存储在键值对中,但将它们放入类似文档的结构中,该结构还可以嵌入有关内容的元数据。该数据库有时称为文档存储,通常以JSON、XML、YAML和其它文本格式或二进制变体(例如BSON)对文档进行编码。
  • 搜索数据库(Search database);搜索数据库是一种专门的文档存储,其中文档索引可以分片并分布在多个节点上,以提供巨大的可扩展性来加速特定条目的检索。
  • 宽列存储(Wide-column store);该技术按列而不是按行组织数据。顾名思义,宽列式存储可以包含具有许多列的表,使其能够处理非常大的数据集。列被分组为一起访问的相关数据系列。
  • 图数据库(Graph database);这种类型的数据库放弃了常见的行列结构,而是使用类似图形的结构将数据集存储为节点集合并突出显示它们之间的关系。
  • 时间序列数据库(Time series database);简称TSDB,收集持续生成的数据并按连续顺序存储,通常带有时间戳。示例包括股票市场、传感器和IT网络数据。时间序列数据库可用于跟踪此类数据集并分析它们如何随时间变化。

简单来说,键值存储、文档数据库、宽列存储和图数据库是NoSQL数据库的四大类型。此外,现在越来越多的云服务器商家将其产品转变为多模型数据库,通过不同的模块支持多个类别。

适用于本地和云部署的四种主要类型的NoSQL数据库

NoSQL数据库比较

随着共有云基础设施成为运行Web和移动应用程序以及其它IT工作负载的流行选择,云平台市场领导者AWS、微软和谷歌云都构建了各种NoSQL数据库产品和服务,以适应不同的数据类型和用例。虽然他们提供的产品的详细方案各不相同,但下表列出了他们为每种类型的NoSQL数据库提供的技术,可以参考对比下区别:

NoSQL技术

如比较表所示,对于每种NoSQL数据库类型,云主机中还提供许多其它开源和商业产品。对于DBaaS环境,用户可以在顶级云平台提供商(表中的三个加上 Oracle)和在一个或多个平台上托管其软件的其它NoSQL数据库供应商之间进行选择。每个第三方选项都有自己的功能和优势,可以使其成为云中最佳的 NoSQL替代方案。

在云中运行NoSQL数据库的另一个重大决定是部署模型:私有管理的IaaS与完全托管的数据库服务。选择取决于企业或组织是否更喜欢自我管理且高度可配置和控制的数据库系统,还是更喜欢可消除前期资本支出和持续基础设施管理开销的托管DBaaS平台。

总结

以上就是在云平台上使用NoSQL(非关系型)数据库的相关内容,可以看出具有多种优势和意义,这些优势适用于各种不同类型的应用和业务场景:

  1. 灵活的数据模型: 允许用户存储和检索非结构化、半结构化和结构化数据,因此适用于不同类型的数据,如文本、图像、日志、传感器数据等。这种灵活性使其适合处理大量不同格式和类型的数据。
  2. 高伸缩性: 设计用于处理大规模的数据和高并发请求。这使得它们非常适合在云平台上进行水平扩展,以满足不断增长的数据需求,而无需像传统关系型数据库那样复杂的优化。
  3. 高性能: 通常采用了各种优化技术,例如内存存储、并行处理和分布式架构,因此在某些情况下可以提供更高的性能,尤其是对于读取密集型或写入密集型的工作负载。
  4. 松散的一致性模型: 采用灵活的一致性模型,允许在数据一致性和可用性之间进行权衡。这对于需要快速响应和容忍部分数据不一致性的应用场景很有价值。
  5. 分布式架构: 构建在分布式架构上,可以在多个节点和数据中心之间分散数据。这提供了高可用性和容错性,使系统能够在部分节点故障时继续运行。
  6. 低延迟查询: 一些NoSQL数据库专注于提供低延迟的查询性能,这对于实时分析和快速数据检索非常有帮助。
  7. 经济高效: 一般能够在分布式硬件基础设施上运行,并且相对较容易管理。这使得它们在成本效益方面具有优势,特别是在云平台上,可以根据实际需求进行资源分配和付费。

需要注意的是,尽管NoSQL数据库在许多方面具有优势,但它们并不适用于所有情况。在选择使用NoSQL数据库之前,应该仔细评估您的应用需求、数据模型以及数据库的特点,以确保选择的数据库解决方案能够最好地满足你的需求。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《基于云平台中的NoSQL数据库四种类型比较》
文章链接:https://www.ecscoupon.com/1365.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!