MongoDB(1)----基础概念
1.什么是MongoDB? MongoDB是由C++语言实现的一个基于分布式文件存储的开源数据库。旨在为Web应用提供可扩展的高性能数据存储解决方法。它介于关系型数据库(Sql)和非关系型数据库(NoSql)之间。 2.MongoDB数据存储结构? MongoDB将数据存储为一个文档,以键值对的形式(Key:Value结构)作为其数据结构。如下图所示: 3.MongoDB优缺点? 优点: 1)可以非常方便的为数据建立索引 2)可以通过网络或者本地创建数据镜像 ,使得MongoDB具有更强的扩展性 3)数据面向文档进行存储,操作起来简单 4)不存在Sql注入问题 5)支持大容量的数据存储 6)内置Sharding,分片简单 7)支持故障恢复 缺点: 1)不支持事务 2)复杂的聚合操作通过mapreduce创建,速度慢 3)无法进行关联表查询,不适合关系多的数据、 4)删除数据集合后不会自动释放空间 4.MongoDB的应用场景? 当传统的关系型数据库无法满足 高并发、海量数据存储访问、灵活扩展、 等需求的时候,就可以将MongoDB作为一种解决方案。 总结: 1)程序有大量数据存储(TB甚至PB级别) 2)程序发展速度较快,要求具有快速扩展的能力 3)程序需要3000以上的QPS 4)数据模型暂时无法确定 5)数据价值较低,不需要事务支持和复杂的join操作