对比云端NoSQL数据库类型

日期: 2019-07-07 作者:Kurt Marko翻译:邹铮 来源:TechTarget中国 英文

对于社交网络、流媒体内容、新闻发布和零售,全球可扩展在线服务的出现极大地改变了对应用基础设施和软件架构的要求。最重要的转变之一是系统存储、整理和访问数据的方式。

传统的关系数据库管理系统(RDBMS)(例如甲骨文数据库)不太适合Web应用程序,因为这些应用程序需要分布式横向扩展群集基础架构。NoSQL数据库更适合松散耦合的设计,其中应用程序数据和可执行代码分布在多个机器和数据中心。基础设施即服务(IaaS)提供商的根源是在开源社区和云原生开发,他们已经构建了各种NoSQL数据库类型来适应不同的数据和用例。

优点和缺点

由于Web应用程序和服务是NoSQL开发背后的主要驱动因素,因此,与RDBMS相比,各种类型的NoSQL数据库都更具优势。这些优势包括以下:

  • 可处理各种数据类型;
  • 更高的性能和更低的延迟性;
  • 非常适合非结构化数据,例如文本、图像、音频和视频;
  • 更适合水平扩展的松耦合系统;
  • 非常适合时间序列或其他流数据,例如事件日志和物联网数据;
  • 可处理不同形式的NoSQL系统和非结构化数据模型的可用性;
  • 可访问广泛的开源或低成本部署,比复杂的RDBMS更便宜。

然而,这些好处是有代价的。例如,RDBMS系统通过ACID模型确保更直接的一致性和可靠性,ACID模型是指原子性、一致性、隔离性和持久性。而NoSQL数据库则遵循BASE模型:基本可用性、软状态和最终一致性。此外,这些非关系数据库缺乏内置机制来检查数据完整性;它必须在外部代码中完成。最后,通常不支持复杂的SQL操作,例如复合选择语句或表连接。

NoSQL数据库类别

NoSQL并不是特定类型的数据库,而是具有几种变体的数据库类别:

  • 键值存储:也称为哈希表,此存储范例整理数据为一列记录,这些记录按键或哈希值索引,指向一个或多个数据对象或记录。这类似于字典,每个键可以有不同数量的值,而不是固定长度。
  • 内存缓存:这是完全适合系统RAM的一种键值存储。通过消除仅为处理特定应用程序功能或情景而扩展整个数据库的需要,这可加速性能并降低成本。
  • 文档存储:虽然它是键值数据库的子集,但文档存储中的值遵循预定义的层级结构,该结构嵌入有关存储内容的元数据。文档存储通常以文本格式编码,例如XML、YAML或JSON,或二进制变体,例如Microsoft Office文件或PDF。
  • 搜索数据库:一种专用文档存储,其中文档索引可以分片并分布在多个节点,以提供大量可扩展性,以加速特定条目的检索。
  • 基于列的存储:此存储按列而不是行整理数据。列被分组为相关数据系列,可共同访问。
  • 图形数据库:这种类型的数据库不采用通用行列结构,而是支持条目集合及其相互关系。

NoSQL数据库对比

随着云基础架构成为部署Web应用程序的流行选择,AWS、微软和Google Cloud纷纷构建了NoSQL服务和产品,以更好地适应不同的数据类型和用例。每种产品的具体细节会有所不同,下表展示了每种NoSQL数据库产品的情况:

正如NoSQL数据库比较表所示,每种NoSQL数据库类型都有几种流行的开源和商业产品。每个第三方选项都具有特定的功能和优势,而云替代方案不一定提供。例如,MongoDB可以进行配置,使复制的数据立即与读取保持一致,而不是最终的一致性。

但是,最重要的区别是部署模型:私有管理(内部部署或托管基础架构)与云服务。这里取决于企业是否更喜欢自我管理、高度可配置和受控制的软件,还是托管云服务,以消除前期资本支出和持续的基础架构管理开销。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐

  • Java、JDBC和Postgres

    现在越来越多的企业开始部署PostgreSQL,为什么呢?当你看到这个许可开源数据库所提供的功能,你就不会对此 […]

  • 5个元数据管理最佳实践

    在数据驱动的环境中,元数据不仅仅是数据的副产品;还是综合数据治理战略的关键组成部分。企业需要适当的元数据管理, […]

  • Cockroach Labs增加矢量搜索,更新定价选项

    Cockroach Labs 近日推出矢量搜索功能,旨在使客户能够访问和操作非结构化数据,以训练生成式人工智能 […]

  • 如何使用数据治理成熟度模型

    如果没有强大的数据治理,数据就无法产生有价值的见解以及改善决策。数据治理成熟度模型可帮助企业评估当前的成就水平 […]