什么是nosql?

NOSQL数据库(AKA“不仅SQL”)是非表格,而不是与关系表的不同方式存储数据。NoSQL数据库根据其数据模型提供各种类型。主要类型是文档,键值,宽列和图形。它们以大量数据和高用户负载提供灵活的模式和比例。

什么是nosql?

当人们使用术语“NoSQL数据库”时,它们通常会使用它来引用任何非关系数据库。有人说,“NoSQL”一词代表“非SQL”,而其他人则表示它代表“不仅仅是SQL”。无论哪种方式,大多数人都同意noSQL数据库是存储除关系表以外的格式的数据库。

常见的误解是NoSQL数据库或非关系数据库不会良好地存储关系数据。NoSQL数据库可以存储关系数据 - 它们只是与关系数据库不同地存储。实际上,与SQL数据库相比时,许多在NoSQL数据库中找到建模关系数据更轻松而不是在SQL数据库中,因为相关数据不必在表之间拆分。

NOSQL数据模型允许在单个数据结构中嵌套相关数据。

NoSQL数据库在2000年代后期出现,因为储存成本显着下降。仅需要创建复杂,难以管理的数据模型的日子,仅用于减少数据复制的目的。开发人员(而不是存储)正在成为软件开发的主要成本,因此NoSQL数据库针对开发人员生产力进行了优化。亚博科技彩票yabogame

由于存储成本迅速下降,存储和查询所需的数据应用量增加。该数据具有各种形状和尺寸结构,半系统,以及多态性,以及预先定义架构变得几乎不可能。NoSQL数据库允许开发人员存储大量的非结构化数据,使其提供了很多灵活性。

此外,这是敏捷宣言越来越受欢迎,软件工程师正在重新考虑他们开发的软件的方式。亚博科技彩票yabogame他们认识到需要快速适应不断变化的要求。他们需要快速迭代的能力并在整个软件堆栈中更改 - 一直到数据库模型。亚博科技彩票yabogameNoSQL数据库给了他们这种灵活性。

云计算也升级了普及,开发人员开始使用公共云来托管他们的应用程序和数据。他们希望能够跨多个服务器和区域分发数据,以使其应用程序有弹性,从而扩展而不是扩展,并智能地地理位置。像MongoDB这样的一些NoSQL数据库提供了这些亚博贵宾会贴吧功能。

什么是SQL?

既然我们对NoSQL数据库有了解,让我们将它们与传统上最流行的数据库进行了对比:由SQL(结构化查询语言)访问的关系数据库。您可以使用SQL与关系数据库交互时,其中数据存储在具有固定列和行的表中。

SQL数据库在20世纪70年代初期的普及。当时,存储非常昂贵,所以软件工程师归一化他们的数据库,以减少数据复制。亚博科技彩票yabogame

yabogame亚博科技彩票20世纪70年代的软件工程师常常遵循瀑布软件开发模型。在开发开始之前计划详细计划。yabogame亚博科技彩票软件工程师煞费苦心地创建了复杂的实体关系(E-R)图,以确保他们仔细考虑他们需要存储的所有数据。由于这种前期规划模型,如果在开发周期期间需要改变要求,软件工程师努力适应yabogame亚博科技彩票。因此,项目经常过预算,超过截止日期,未能违背用户需求。

NoSQL数据库的类型是什么?

随着时间的推移,出现了四种主要类型的NoSQL数据库:文档数据库键值数据库,宽列存储和图形数据库。让我们检查每种类型。

  • 文档数据库将数据存储在类似于JSON(JavaScript对象符号)对象的文档中。每个文档都包含对字段和值对。这些值通常可以是各种类型,包括字符串,数字,布尔值,阵列或对象,它们通常与对象开发人员对齐的结构与代码一起使用。由于它们各种字段价值类型和强大的查询语言,文档数据库非常适合各种用例,可用作通用数据库。它们可以水平缩放以容纳大数据量。亚博贵宾会贴吧MongoDB始终如一地排名为世界上最受欢迎的NoSQL数据库DB-engines.并且是文档数据库的示例。有关文档数据库的更多信息,请访问什么是文档数据库?

  • 键值数据库是一种更简单类型的数据库,其中每个项目包含键和值。通常只需参考其密钥即可检索值,因此学习如何查询特定键值对通常是简单的。键值数据库非常适合使用您需要存储大量数据但不需要执行复杂查询来检索它的情况。常用案例包括存储用户首选项或缓存。redis和dynanodb是流行的键值数据库。

  • 宽柱店将数据存储在表,行和动态列中。宽列存储提供了对关系数据库的大量灵活性,因为每行都不需要具有相同的列。许多人认为宽列存储是二维键值数据库。宽列商店很棒,因为您需要存储大量数据,您可以预测查询模式将是什么。宽列存储通常用于存储数据和用户配置文件数据的Internet。Cassandra和HBase是最受欢迎的两个宽柱店。

  • 图形数据库将数据存储在节点和边缘中。节点通常存储有关人员,地方和事物的信息,而边缘存储有关节点之间的关系的信息。图表数据库Excel在使用情况下,您需要跨越关系寻找诸如社交网络,欺诈检测和推荐引擎等模式。Neo4j和Janusgraph是图形数据库的示例。

NoSQL数据库如何工作

从设计角度来了解NoSQL数据库的吸引力的一种方法是查看SQL和NoSQL数据库的数据模型如何使用地址数据查找超薄示例。

SQL案例。对于SQL数据库,为地址设置数据库以格式的逻辑构建以及要存储的记录的期望将保持相对不变。在分析预期的查询模式后,SQL数据库可能会在两个表中优化存储,一个用于基本信息,一个与作为客户有关的一个表,其中姓氏是两个表的键。每个表中的每一行都是单个客户,每个列都具有以下固定属性:

  • 姓氏::名字::中间名::地址字段::电子邮件地址::电话号码
  • 姓氏::出生日期::帐号::客户几年::通信偏好

NOSQL案例。在上面的NoSQL数据库的部分类型中,有四种类型描述,每个类型都有自己的数据模型。

每种类型的NoSQL数据库都会以特定的客户方式设计,并且有如何组织各种数据库的技术原因。描述的最简单类型是文档数据库,其中将基本信息和客户信息组合在一个JSON文档中是自然的。在这种情况下,每个SQL列属性都是字段,并且客户记录的详细信息将是与每个字段关联的数据值。

例如:last_name:“jones”,first_name:“mary”,middle_initial:“s”, 等等

尝试NoSQL数据库

如果您想尝试NoSQL数据库,亚博贵宾会贴吧MongoDB Atlas.是一个很棒的地方。Atlas是一个由MongoDB完全管理的数据库服务,并在所有领先的云提供商上提供。亚博贵宾会贴吧阿特拉斯拥有一个永恒的层,你可以用来踢到轮胎并发现基础知识。

不知道你现在有什么用地图集帐户吗?前往亚博贵宾会贴吧曼德布大学在哪里可以从MongoDB工程师获得免费的在线培训。亚博贵宾会贴吧亚博贵宾会贴吧MongoDB大学超过了140万课程注册。这快速启动教程是另一个开始的好地方,因为他们将帮助您快速上编程语言快速启动和运行。

本文是由Lauren Schaefer.,Mon亚博贵宾会贴吧goDB开发商倡导者。

了解有关关键差异之间的更多信息NoSQL VS SQL数据库

开始使用MongoDB Atlas亚博贵宾会贴吧

在云上体验使用MongoDB,Premier NoSQL数据库的优亚博贵宾会贴吧势。