未找到结果

您的搜索操作未匹配到任何结果。

我们建议您尝试以下操作,以帮助您找到所需内容:

  • 检查关键词搜索的拼写。
  • 使用同义词代替键入的关键词,例如,尝试使用“应用”代替“软件”。
  • 请尝试下方显示的热门搜索之一。
  • 重新搜索。
热门问题

NoSQL 是什么?

“NoSQL”表示非关系类型数据库,这些数据库采用不同于关系表的格式存储数据。但是,NoSQL 数据库可以使用惯用语言 API、声明性结构化查询语言以及按示例查询语言进行查询,这也正是它们被称为“不仅仅是 SQL”数据库的原因所在。

NoSQL 数据库的作用是什么?

NoSQL 数据库广泛应用于实时 Web 应用和大数据,因为其主要优势是高可扩展性和高可用性。

NoSQL 数据库也是开发人员的首选方案,因为它们可快速适应不断变化的需求,自然也适合敏捷开发范式。NoSQL 数据库支持以更直观、更易于理解的方式来存储数据,或者更接近于应用使用数据的方式 — 使用 NoSQL 风格的 API 存储或检索时所需的转换更少。此外,NoSQL 数据库还可以充分利用云来实现零停机。

SQL 与 NoSQL 对比

SQL 数据库是关系型的,而 NoSQL 数据库是非关系型的。关系数据库管理系统 (RDBMS) 是结构化查询语言 (SQL) 的基础,可允许用户访问和操作高度结构化表中的数据。这是 MS SQL Server、IBM DB2、Oracle 和 MySQL 等数据库系统的基础模型。但是对于 NoSQL 数据库,数据访问语法可能因数据库而异。

关系数据库与 NoSQL 数据库对比

要掌握 NoSQL 数据库,了解 RDBMS 与非关系数据库类型之间的差异非常重要。

RDBMS 中的数据存储在称为表的数据库对象中。表是相关数据条目的集合,由列和行组成。这些数据库需要预先定义架构,即需要提前知道所有列及其相关联的数据类型,以便于应用将数据写入数据库。它们还存储通过键链接多个表的信息,从而创建跨多个表的关系。在最简单的情形中,键用于检索特定行以便于进行检查或修改。

相反,在 NoSQL 数据库中,无需预先定义架构即可存储数据 — 这意味着您可以快速移动和迭代,从而动态定义数据模型。这适用于特定的业务需求,包括基于图形、面向列、面向文档以及作为键值存储。

直到最近,关系数据库还一直是最广泛使用的模型。它们仍然在许多企业得到了广泛采用。然而,面对当今多样化、高速和海量的数据,有时需要用一个高度不同的数据库来补充关系数据库。这促进了 NoSQL 数据库在某些领域的采用,该数据库也称为“非关系数据库”。由于支持快速横向扩展,因此非关系数据库可以处理高流量,这也使其具有很强的适应性。

何时选择 NoSQL 数据库?

对于需要快速创新的企业和组织而言,保持敏捷性并继续以任何规模运营至关重要。NoSQL 数据库提供灵活的架构,并且还支持各种数据模型,非常适用于构建需要大量数据、低延迟或快速响应的应用,例如在线游戏和电子商务 Web 应用。

何时不选择 NoSQL 数据库?

NoSQL 数据库通常依赖于非规范化数据,可支持使用较少表(或容器)且数据关系不使用引用建模,而是作为嵌入式记录(或文档)建模的应用类型。财务、会计和企业资源规划中的许多经典后台业务应用均依赖高度规范化的数据来防止数据异常和数据重复。这些应用类型通常不适用于 NoSQL 数据库。

NoSQL 数据库的另一个特点是查询复杂性。NoSQL 数据库在查询单个表时性能出众。但是,随着查询复杂性的增加,关系数据库则是更好的选择。NoSQL 数据库通常不会在 WHERE 子句中提供复杂的联接、子查询和查询嵌套。

但有时并不需要在关系数据库与非关系数据库之间做出选择。在许多情况下,公司会选择支持融合模型的数据库,以便于结合使用关系数据模型和非关系数据模型。这种混合方法在处理不同类型的数据时可提供更高的灵活性,同时还将确保读写一致性,而不会降低性能。

NoSQL 提供了哪些其他数据库不具备的功能?

NoSQL 数据库与其他类型数据库之间的一项主要差异就是 NoSQL 数据库通常使用非结构化存储。在过去二十年中开发的 NoSQL 数据库专为快速、简单的查询、大量数据和频繁的应用更改而设计。此外,这些数据库还大幅简化了开发人员的编程工作。

NoSQL 数据库的另一项重要差异化优势是依赖于“分片”流程来进行横向扩展,这意味着可以添加更多机器来处理跨多个服务器的数据。而其他 SQL 数据库中的垂直扩展需要为现有机器增加更多处理能力和内存,随着对存储的需求日益增长,这种方式是不可持续的。

NoSQL 数据库的横向扩展能力意味着可以更加有效地处理海量数据,同时可支持数据增长。垂直扩展类似于为房屋添加新楼层,而横向扩展则是在原始房屋的隔壁建造另一所房屋。

NoSQL 数据库的优势

经过二十年的发展,数字交互和数据使用已经达到前所未有的水平,这要求企业采用更加现代和流畅的方法来存储数据以及访问数据。随着全球范围内的用户要求实现不间断的内容和功能流,数据库也就需要具备快速适应的能力。鉴于此,以下是开发人员选择 NoSQL/非关系数据库的一些关键原因:

  • 灵活性:SQL 数据库将数据存储在更加严格的预定义结构中。而 NoSQL 则以更加自由的方式来存储数据,而无需严格的模式。这种设计可支持创新和快速应用开发。开发人员可以专注于创建系统来改善客户服务,而无需担心模式。NoSQL 数据库可以轻松处理任何数据格式,例如单一数据存储中的结构化、半结构化和非结构化数据。
  • 可扩展性:NoSQL 数据库可以通过商用硬件来实现横向扩展,而不需要通过添加更多服务器来进行扩展。这可以支持流量增长,从而满足零停机需求。通过横向扩展,NoSQL 数据库可以扩充容量和处理能力,因此成为支持不断变化的数据集的首选方案。
  • 高性能:当数据量或流量增长时,NoSQL 数据库的横向扩展架构的优势尤为明显。如下图所示,该架构可实现快速、可预测的个位数毫秒级响应能力。 NoSQL 数据库还可以摄取数据并快速可靠地交付数据,因此 NoSQL 数据库可支持应用每天收集 TB 级数据,同时实现高度交互的用户体验。如下图所示,每秒 300 次读取的传入速率(蓝线)第 95 次延迟在 3-4 毫秒范围内,每秒 150 次写入的传入速率(绿线)的第 95 次延迟在 4-5 毫秒范围内。

    nosql database

  • 可用性:NoSQL 数据库可自动跨多个服务器、数据中心或云资源复制数据。而这又可以大幅减少用户延迟,而不受其地理位置的限制。此特性还有助于减轻数据库管理的负担,从而腾出时间专注于其他优先事项。
  • 功能强大:NoSQL 数据库专为具有超高数据存储需求的分布式数据存储而设计。这使得 NoSQL 成为大数据、实时 Web 应用、360 度客户视图、在线购物、在线游戏、物联网、社交网络和在线广告应用的理想方案。

NoSQL 数据库的类型

NoSQL 数据库可分为四种主要类型:

  • 键值:这是最灵活的 NoSQL 数据库类型,因为应用可以完全控制 value 字段中存储的内容,而没有任何限制。
  • 文档:也称为文档存储或面向文档的数据库,这些数据库用于存储、检索和管理半结构化数据。无需指定文档将包含哪些字段。
  • 图形:此数据库将数据组织为节点和关系,这将显示节点之间的连接。这支持更加丰富和完整的数据表示。图形数据库应用于社交网络、预订系统和欺诈检测。
  • 宽列:这些数据库以表、行和列的形式来存储和管理数据。它们广泛部署于需要用列格式来捕获无模式数据的应用中。

试用 Oracle NoSQL 数据库

Oracle NoSQL 数据库云服务支持开发人员轻松使用文档、列和键值数据库模型来构建应用,通过数据复制获得高可用性,实现可预测的个位数毫秒级响应能力。它提供 ACID 事务、无服务器扩展、全面的安全性以及按用量付费的低定价模式。

Oracle NoSQL 数据库云服务现已是 Oracle 云免费套餐的一部分,其中包括免费限时促销试用,可允许您探索各种云服务以及一系列永不过期的 Always Free 服务。

免费在 Oracle 云上构建、测试和部署应用。