02-NoSQL是什么
1.1 NoSQL是什么
一种常见的误解是,以为术语NoSQL指的是“非SQL”,它实际上指的是“不仅仅是SQL”,这旨在强调这样一点:NoSQL数据库并非SQL的替代品,它实际上也可使用类似于SQL的查询概念。
NoSQL是个包罗万象的术语,涵盖了除传统关系型数据库管理系统(RDBMS)之外的所有数据库。NoSQL旨在简化设计、支持横向扩展以及更细致地控制数据的可用性。NoSQL数据库专用于存储特定类型的数据,因此在大多数情况下效率和性能都高于RDBMS服务器。
NoSQL试图放弃关系型数据库的传统结构,让开发人员能够以更接近系统数据流需求的方式实现模型。这意味着NoSQL数据库能够以传统关系型数据库不支持的方式组织数据。
当前有多种不同的NoSQL技术,其中包括HBase列结构、Redis键/值结构以及Virtuoso图结构。然而,本章介绍MongoDB及其使用的文档模型,因为在为Web应用程序和服务实现后端存储方面,它提供了极高的灵活性和可扩展性。另外,MongoDB是当前使用最广泛、得到的支持最多的NoSQL语言。接下来的几小节描述一些NoSQL数据库类型。