NoSQL数据库概述
NoSQL 简介
NoSQL的特点:
NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。
NoSQL,指的是非关系型的数据库,是以 key-value形式存储。它是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
NoSQL 击碎了性能瓶颈,能运行在便宜的PC服务器集群上
NoSQL 数据库分类
数据模型 | 特点 | 典型代表 |
---|---|---|
键值 | 键值对,常用作缓存,可处理大数据量的高访问负载 | Redis、Memcache |
文档 | 存储类似JSON格式的内容,可对某些字段建立索引功能,是最像关系型的数据库 | MongoDB、CouchDB |
列式 | 按列存储,针对某一列或者某几列的查询有非常大的IO优势 | BigTable、HBase |
图形 | 善于处理大量复杂、互连接、低结构化的数据,数据往往变化迅速,且查询频繁 | GraphSQL、Neo4j |
NoSQL 适用场景
- 对数据高并发读写
- 对海量数据的高效率存储和访问
- 对数据的高可扩展性和高可用性
MongoDB 与 关系数据库的对比
MongoDB是面下个集合存储的文档型数据库,其涉及到的基本概念与关系型数据库相比有所不同。
MongoDB | 关系型数据库 |
---|---|
DataBase | DataBase |
Collection | Table |
Document/BSON Document | Record/Row |
field | Column |
Index | Index |
embedded documents/reference | table joins |