Module 01 · Introducing NoSQL
Document-Based NoSQL Databases文档型 NoSQL 数据库概述
欢迎观看关于文档型 NoSQL 数据库的介绍视频。本文将详细介绍文档型 NoSQL 数据库的架构及主要应用场景。
文档型 NoSQL 数据库概述
文档型数据库是基于键值对模型(Key-Value)发展而来的,通过使值变得可见并能够进行查询,增强了数据的灵活性和可操作性。每一条数据都被视为一个文档,通常以 JSON 或 XML 格式存储。
文档型数据库的优势
- 灵活的架构:每个文档都拥有自己的架构,不同文档之间的内容不需要相同。这使得数据可以灵活地适应不同的需求,而无需强制统一。
- 查询和索引功能:文档数据库通常支持对文档内容进行索引和查询,支持键值查询、范围查询以及基于 MapReduce 等范式的分析查询。
- 水平扩展:文档数据库支持水平扩展,可以在多个节点上进行数据分片。通常通过文档中的某个唯一键进行分片。
- 原子性事务:文档型数据库通常仅保证单个文档操作的原子性事务,对于跨多个文档的操作,可能无法提供事务保证。
文档型 NoSQL 数据库的应用场景
- 事件日志记录:适用于应用程序或流程的事件日志记录。每一次事件都会成为一个新的文档,包含所有与该事件相关的信息。
- 在线博客:每个用户、每个帖子、每个评论、每个点赞或操作,都可以表示为一个文档。每个文档包含如用户名、帖子内容、创建时间戳等信息。
- Web 和移动应用的操作数据集:文档型数据库非常适合存储操作数据集,尤其是面向互联网的应用场景,如 JSON 格式数据、RESTful API 和非结构化数据。
不适合的应用场景
文档型数据库并非适用于所有场景,以下是一些不适合使用文档型数据库的情况:
- 需要 ACID 事务的场景:如果应用需要在多个文档之间进行事务处理,文档型数据库可能不适合。此时,关系型数据库可能是更好的选择。
- 强制聚合设计的数据:如果数据本身适合规范化或表格型模型(例如关系型数据),而你不得不将其强行转换为聚合型设计,则应考虑使用关系型数据库。
常见的文档型 NoSQL 数据库实例
以下是一些流行的文档型 NoSQL 数据库的例子:
- IBM Cloudant
- MongoDB
- Apache CouchDB
- Terrastore
- OrientDB
- Couchbase
- RavenDB
总结
通过本视频,你了解了:
- 文档型 NoSQL 数据库通过使值可见并能够被查询来增强键值对模型的功能。
- 每个数据项被视为一个文档,并通常以 JSON 或 XML 格式存储,提供了灵活的架构。
- 主要应用场景包括:应用和流程的事件日志记录、在线博客以及Web和移动应用的操作数据集。