Module 04 · NoSQL Databases in Cloud云端 NoSQL 数据库
Overview of NoSQLNoSQL 概述
学习目标
观看本视频后,你将能够:
- 定义 NoSQL 及其相关技术
- 了解 NoSQL 的发展历史 及其在数据库领域中的影响
什么是 NoSQL?
NoSQL 这一术语最初是在一次会议上提出的,该会议主要讨论新兴的开源分布式数据库。自此,NoSQL 这个名称便广为流传。
📌 NoSQL ≠ No SQL,它的真正含义是:
“Not Only SQL” (不仅仅是 SQL),而不是字面上的**“NO SQL”**(不使用 SQL)。
📌 NoSQL 的本质特征:
- 非关系型(Non-Relational):与传统的 关系型数据库(RDBMS,Relational Database Management System) 不同,NoSQL 数据库不采用标准的**行(Row)和列(Column)**结构。
- 更合适的名称应该是 "非关系型数据库(Non-Relational Database)",因为它们涵盖了不同的数据库类型,但都不属于传统的关系型数据库。
NoSQL 解决的问题
NoSQL 数据库提供了一种新的存储和查询数据的方式,以解决现代应用中的诸多挑战。
应对大规模数据(Big Data)的挑战
- NoSQL 主要用于处理 “大数据”(Big Data)相关的问题,涉及:
- 数据规模(Data Scale):数据量大,存储要求高
- 高并发用户(Concurrent Users):同时操作数据的用户数量庞大
适用于特定场景,简化开发
- NoSQL 数据库通常比传统关系型数据库更专注于特定的使用场景,在开发应用时可能更加简单高效。
- 后续视频将深入探讨 NoSQL 数据库的各种优势。
NoSQL 的发展历史
1970 - 2000:关系型数据库的主导地位
- 市场被关系型数据库(RDBMS)垄断,应用架构师和开发人员几乎只能选择:
- Oracle
- IBM DB2
- Microsoft SQL Server
- MySQL
- 尽管 IBM 曾推出过IMS(信息管理系统)这样的非关系型数据库(用于阿波罗登月任务),但主流仍然是关系型数据库。
2000 年代初:互联网的爆发 & 关系型数据库的挑战
- 互联网公司和应用爆炸式增长(Dotcom Boom)
- 过去:数据库主要支持企业内部的数千名员工。
- 现在:数据库需要支撑数百万级的互联网用户。
- 高可用性(Availability)与高性能(Performance)成为关键需求。
- 关系型数据库在扩展性方面遇到瓶颈,需要新的技术来解决这些问题。
2000 - 2010:NoSQL 早期发展
- 大型科技公司(如 IBM、Google、Facebook)投入技术研发,并发布了一系列影响深远的技术论文和开源项目:
- Google MapReduce(2004):提出大规模数据集的分布式处理方法。
- Amazon Dynamo(2007):提出分布式存储架构,均匀分配数据和工作负载。
- 2000 年代末,开源 NoSQL 数据库迅速崛起,代表性数据库包括:
- Apache CouchDB
- Cassandra
- HBase
- MongoDB
- Redis
- Riak
- Neo4j
- 这些数据库特别适用于大规模应用,提供了比关系型数据库更好的扩展性。
2010 年代至今:数据库即服务(DBaaS)
- 云计算的发展促进了 NoSQL 数据库的流行
- 数据库即服务(DBaaS,Database-as-a-Service) 使得 NoSQL 数据库的运维更加简单
- 代表性数据库服务:
- IBM Cloudant
- Amazon DynamoDB
总结
🎯 本视频要点回顾:
- NoSQL 代表:“Not Only SQL”(不仅仅是 SQL),它指的是非关系型数据库。
- NoSQL 数据库适用于处理大规模数据,尤其适用于高并发场景。
- NoSQL 发展历程:
- 1970-2000:关系型数据库(RDBMS)占主导地位。
- 2000 年代初:互联网兴起,关系型数据库难以应对大规模数据。
- 2000-2010:Google、Amazon 等公司提出新技术,推动 NoSQL 发展。
- 2010 年代至今:NoSQL 进入云端,数据库即服务(DBaaS)普及。
🚀 NoSQL 作为现代数据库的重要组成部分,已经成为大规模应用和大数据存储的关键技术!