NoSQL数据库概述
特点:
1.模范自由:不需要定义表结构,数据表中的每条记录都有可能有不同的属性和格式。
2.逆范式化:不遵循范式要求,要去掉完整性约束,减少表之间的依赖。
3.多分区存储:数据进行分区,将记录分散到多个节点
4.弹性可扩展:在系统运行过程中,动态增加和删除节点,数据自动平衡移动
5.多副本异步复制:数据快速写入一个节点,其余节点通过读取写入节点日志来实现异步复制
6.软事物:不能完全满足事物的ACID(ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity)、一致性 (Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability))特性,保证事物的最终一致性
分类:键值:<Key,Value>键值对,常用做缓存,可处理大数据量的高访问负载(Redis、Memcache)
文档:存储类似JSON格式的内容,可对某些字段建立索引功能,是最像关系型的数据库(MongoDB、CouchDB)
列式:按列存储,针对某一列或者某几列的查询有非常大的IO优势(BigTable、HBase)
图形:善于处理大量复杂、互联接、低结构化的数据,数据往往变化迅速,且查询复杂(GraphSQL、Neo4j)
==================================================================================================================
MongoDB数据库
特点:面向集合存储、模式自由、丰富的查询语句、多级索引、复制集机制、易水平扩展、支持文件存储、可插入式存储引擎、跨平台、支持语言众多
适用场景:数据缓存、JSON格式的数据、高伸缩性场景、弱事物类型业务
总结:MongoDB更多适合于大数据量、高并发、弱事物的互联网应用,其内置的水平扩展机制提供了从几百万到十亿级别的数据处理能力,可以很好的满足Web2.0和移动互 联网应用的数据存储要求。