Coursera 笔记

Module 01 · Introducing NoSQL

Characteristics of NoSQL DatabasesNoSQL 数据库的特点

Coursera ↗

🎶 背景音乐 🎶


在这段视频中,我们将讨论NoSQL数据库的概念与特点,并解释采用NoSQL数据库的主要好处。

NoSQL数据库类型 

您已经了解,NoSQL数据库的最主要特征是它们的非关系型架构。那么,NoSQL数据库有哪些类型呢?它们有什么共同点呢?

根据市场的共识,NoSQL数据库大致可以分为以下四种类型:

  1. 键值数据库(Key-Value)
  2. 文档数据库(Document)
  3. 列式数据库(Column-based)
  4. 图形数据库(Graph)

虽然这些类型之间存在一些重叠,定义并不总是非常清晰,但它们都有一些共同特征。


NoSQL数据库的共同特点 

  • 开源根基:大多数NoSQL数据库都起源于开源社区,并且一直以开源方式使用和开发。这为它们在行业中的快速增长提供了基础。
  • 技术支持和商业版本:许多公司在提供数据库的商业版本和技术支持的同时,也会赞助开源版本。例如:
    • IBM Cloudant(用于CouchDB)
    • Datastax(用于Apache Cassandra)
    • MongoDB(提供开源版本)

技术特性 

尽管它们的技术实现差异较大,但有一些共同点:

  • 横向扩展性:NoSQL数据库比关系型数据库更容易实现横向扩展,并能够更轻松地共享数据。
  • 数据分区与分片(Sharding):这通常需要使用全球唯一的键,以简化数据分区的过程。
  • 专业化应用:NoSQL数据库更适用于某些特定的应用场景,相比之下,关系型数据库通常作为“万用”数据库管理系统(RDBMS)存在。

开发人员青睐NoSQL数据库,主要是因为它们更易于进行数据建模和使用。与关系型数据库固定模式的约束相比,NoSQL数据库的灵活模式支持更灵活的开发方式。


NoSQL数据库的主要优势 

为什么要使用NoSQL数据库?
为什么NoSQL数据库的普及速度如此之快?
以下是NoSQL数据库的一些常见优势:

  1. 可扩展性 🛠️
    • 横向扩展:最常见的使用NoSQL数据库的理由是可扩展性,尤其是能够跨多个服务器集群、机架甚至数据中心进行横向扩展。
    • 弹性扩展:根据应用需求,动态增加或减少资源是NoSQL的关键优势。
  2. 性能 ⚡
    • 性能与可扩展性密切相关,尤其是在处理大数据集和高并发时,NoSQL数据库能够充分利用大型服务器集群的资源,提供快速的响应时间。
  3. 高可用性 🔄
    • 高可用性是数据库的基本要求,采用多副本数据存储的集群比单一服务器的解决方案更具韧性。
    • 分布式架构使得NoSQL能够更高效地保证数据的高可用性。
  4. 成本效益 💸
    • 传统的大型数据库往往依赖昂贵的机器或主机,而现代企业采用云架构支持应用程序,NoSQL数据库的分布式特性使得它们能在云环境中进行部署,显著降低成本。
  5. 灵活的模式与直观的数据结构 🔄
    • 开发人员喜欢NoSQL数据库的灵活模式和直观的数据结构。
    • 许多NoSQL数据库支持灵活模式,意味着可以快速构建新功能,而无需担心数据库锁定或停机。
    • NoSQL的多样化数据结构也比关系型数据库的行列结构更能满足开发需求。例如:
      • 键值存储:快速查找
      • 文档存储:存储去规范化的数据
      • 图形数据库:存储关联数据集
  6. 特定功能 🛠️
    • 某些NoSQL提供商还提供了特定的索引和查询功能,如地理空间搜索、数据复制的强大能力和现代的HTTP API等,吸引了大量终端用户。

NoSQL与RDBMS的对比 

尽管NoSQL数据库有诸多优势,但仍然有一些需求更适合使用关系型数据库(RDBMS)来满足。在某些情况下,关系型数据库的传统架构仍然不可替代。


总结 

在这段视频中,您学到了:

  • NoSQL数据库是非关系型的。
  • NoSQL数据库有四个主要类别:键值型、文档型、列式和图形型。
  • NoSQL数据库的根基在开源社区。
  • 尽管NoSQL的实现方式不同,它们在某些方面有共同点。
  • 采用NoSQL数据库有许多优势,如横向扩展性、高性能、高可用性、成本效益和灵活的模式。

🎶 背景音乐 🎶