什么是NoSQL?这里给你整明白

admin9个月前笔记85

image.png

一、什么是 NoSQL

NoSQL是一类非 SQL(关系)数据库,使用预定义表和列之外的其他数据模型。此类包含许多不同类型的数据库以及数据存储和操作的方法。

二、什么是 SQL

NoSQL与几十年来事实上的标准关系 (SQL) 数据库相对立。SQL 数据库将数据存储在由具有严格数据类型的列组成的预定义表中。表可以具有唯一性(表中行之间的关系)、检查约束(验证一行中的数据)或外键约束(不同表中数据之间的关系)。

示例关系数据模型:
image.png

SQL是一种标准查询语言,用于定义、操作和搜索关系数据库中的数据。

基本 SQL 查询:

select customer_no, first_name, last_name, last_purchase
from customers
where address_state = 'CA'
为什么关系数据库还不够?

模式的灵活性——关系数据库具有固定的模式,这意味着它们只能保存由数据库管理员预定义的对象(在表中)和属性(在列中)(写入模式)。
开发中的敏捷性——必须在写入数据之前定义模式使得开发数据库的速度要慢得多。在 NoSQL 数据库中,您可以只编写数据并在需要读取数据时担心它们的数据格式(读取模式),这使开发更加敏捷。
数据大小——许多 NoSQL 数据库在构建时都考虑到了大规模数据,并且能够存储大量行或对象,从而牺牲了对其完整性的管理。

三、NoSQL 数据库的类型
1、文档数据库

文档数据库将数据存储在 JSON 文档中,这些文档是键值对的分层集合。文档可能很复杂,并且包含子文档和列表。

这是代表客户的示例文档:

{
  "id": "1",
  "name":{
    "firstName":"John",
    "lastName": "Doe"
  },
  "address":{
    "street":"Lombard street",
    "city": "San Francisco",
    "state": "CA",
    "country": "US",
  }
}

流行的文档数据库:

  • MongoDB

  • DynamoDB

  • Couchbase

  • CouchDB

  • 2、键值存储

    键值存储是最基本的 NoSQL 数据库,将数据存储在简单的键值对中(在最简单的情况下,两者都是纯字符串),这意味着您可以在特定标签下存储一些值。
    image.png

    Redis的一个例子:

    > set customer1 JohnDoe

    流行的键值存储:

  • Redis

  • Berkley DB

  • 3、图数据库

    图数据库将数据表示为由节点和关系构建的网络。
    image.png

    流行的图数据库:

  • Neo4J

  • Giraph

  • 4、宽列存储

    宽列存储存储类似于关系数据库,它们将数据存储在表中,但数据是按列物理组织的。宽列数据库中的数据是稀疏的,这意味着空列不占用空间,并且允许在表中创建数百、数千甚至数百万列。
    image.png


相关文章

解析MySQL 配置文件 my.cnf / my.ini 区别

充分理解 MySQL 配置文件中各个变量的意义对我们有针对性的优化 MySQL 数据库性能有非常大的意义。我们需要根据不同的数据量级,不同的生产环境情况对 MySQL 配置文件进行优化。一、配置文件m...

教你如何让页面与 iframe 进行通信

引言这篇文章介绍如何实现页面与 iframe 进行通信,实际工作中可能很难遇到,但一旦遇到了,我们要能够立即想到怎样去实现。iframe 向父级页面发送消息在 iframe 页面,使用 window....

多主机网络下 Docker Swarm 模式的容器管理

多主机网络下 Docker Swarm 模式的容器管理

本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理。Docker Engine – Swarm 模式在多台主机之上运行 MySQL...

20 个 CentOS 服务器加固安全技巧

20 个 CentOS 服务器加固安全技巧

本教程仅涵盖CentOS 8/7 的一般安全提示,可用于加固系统。清单提示主要用于各种类型的裸机服务器或提供网络服务的机器(物理或虚拟)。然而,一些技巧也可以成功应用于通用机器,例如台式机、...

Flex 布局教程

Flex 布局教程

网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。...

DevOps平台支撑企业IT运营

DevOps平台支撑企业IT运营

一、普元 DevOps 平台建设历程普元从 2008 年开始研发持续集成平台(CIP)、自动化测试平台(UTP),2009 年内部的所有产品都实现了持续集成、自动化测试、自动化部署。随着 DevOps...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。