Coursera 笔记

Module 01 · Introducing NoSQL

Overview of NoSQLNoSQL 概述

Coursera ↗

🎶 背景音乐 🎶


在这段视频中,您将学到以下内容:

  • 定义 NoSQL
  • 描述NoSQL技术
  • 了解NoSQL在数据库领域的历史
  • 列出使用NoSQL数据库的四个原因

什么是NoSQL? 

NoSQL这个名字是在一个讨论新型开源分布式数据库的活动中首次提出的,并且这个名字一直沿用至今。虽然听起来像是“不支持SQL”,但其实NoSQL代表的是“not only SQL”,即“不仅仅是SQL”,而不是“没有SQL”。
NoSQL 实际上描述的是这些数据库的非关系型特征,它们并不遵循传统的行列关系型数据库管理系统(RDBMS)结构。相反,NoSQL数据库有不同的风格和技术,但共同点在于它们是非关系型的。


NoSQL的优势 

  • 无需固定模式:与关系型数据库不同,NoSQL数据库不需要固定的模式,适合不断变化的应用场景。
  • 横向扩展性:NoSQL数据库可以轻松横向扩展,随着数据量和流量的增长,您可以增加更多的容量。
  • 高可用性和容错性:NoSQL数据库是分布式系统,具备内建的容错性和高可用性。

NoSQL的历史 

1970年至2000年关系型数据库的主导时期
  • 在这个时期,尽管像IBM的IMS(用于阿波罗太空任务的层级数据库)等一些非关系型数据库已经存在,市场上大多是关系型数据库。
  • 主要的数据库产品包括Oracle、IBM DB2、Microsoft SQL Server和MySQL等。
互联网应用的崛起 
  • 在90年代末和2000年代初的互联网热潮中,应用程序从只需服务数千名公司内部员工,发展到需要服务数百万公网上的用户。
  • 对于这些应用,可用性和性能变得至关重要,新的可扩展性问题促使了新技术的诞生。
技术创新与开源 
  • IBM、Google和Meta等大型科技公司在这一时期推出了许多创新技术,并发布了白皮书和开源代码。
    • 例如,Google的MapReduce白皮书,描述了如何在分布式系统上处理大数据集。
    • 亚马逊的Dynamo白皮书,阐述了如何在集群中以仲裁架构均衡分配数据和工作负载。
2000年代末期的新兴数据库 
  • 多个开源社区推出了新的数据库技术,如Apache Cassandra、MongoDB、Riak、CouchDB、HBase、Redis和Neo4j等,这些数据库被广泛应用于需要更大规模处理的应用中。
近年来的DBaaS模式 
  • 在过去十年,许多NoSQL数据库采用了完全托管服务模式(DBaaS),例如IBM Cloudant和Amazon DynamoDB,以减轻用户的管理负担,让开发者专注于构建应用。


为什么选择NoSQL? 

NoSQL数据库的特点使其能够支持灵活的数据模型,方便存储非结构化或半结构化数据。以下是NoSQL数据库的一些关键优势:

  • 灵活的数据模型:可以更轻松地存储和处理不同类型的数据。
  • 原生扩展能力:许多NoSQL数据库支持水平和垂直扩展,帮助企业应对增长的需求。
  • 分布式架构:适用于分布式环境,提供高可用性和容错性。
NoSQL的应用场景 

企业通常会根据需要选择多种NoSQL数据库。以下是社交媒体平台的应用示例:

  • 文档数据库:管理用户个人资料
  • 列式数据库:存储用户活动信息
  • 键值数据库:帮助管理用户会话并加速用户对频繁访问数据的访问
  • 图形数据库:存储关于朋友和关系的信息,保持人与人之间的连接


总结 

在这段视频中,您学到了以下内容:

  • NoSQL的意思是“不仅仅是SQL”,指代的是一种非关系型的数据库架构。
  • 尽管不同NoSQL数据库的实现方式有所不同,但它们都具有一些共同特征。
  • NoSQL数据库是分布式系统,具备横向扩展性、内建容错性和高可用性。

🎶 背景音乐 🎶