对于社交网络、流媒体内容、新闻发布和零售,全球可扩展在线服务的出现极大地改变了对应用基础设施和软件架构的要求。最重要的转变之一是系统存储、整理和访问数据的方式。
传统的关系数据库管理系统(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中国
作者
翻译
相关推荐
-
云计算的未来:热门趋势和预测
在过去的几十年里,云计算已经从配置虚拟机的更便宜的替代品演变为更细微和复杂的基础设施。尽管就原始基础设施成本而 […]
-
5个值得考虑的开源云监控工具
如果你的IT团队需要低成本、无锁定的云监控工具,开源可能是不错的选择。 云计算的受欢迎程度持续飙升。然而,由于 […]
-
云退出策略的8个关键步骤
吸引企业迁移到公共云有很多好处,例如降低运营复杂性和降低成本的潜力。但云服务不一定是每个工作负载的最佳场所。有 […]
-
最新VMware产品发布让博通面临挑战
分析师表示,很多企业仍然不确定是否应该继续使用Broadcom的VMware,该供应商最近对其混合云平台做出重 […]