MongoDB选择理由
1.简介
- MongoDB是一个基于分布式文件存储的数据库
- 由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
- MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
- Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引
2.业务场景
- 传统的关系型数据库(如MySQL),在数据操作的三高需求以及应对Web2.0的网站需求面前,显得力不从心,而 MongoDB可应对“三高“需求
– High performance:对数据库高并发读写的需求
– Huge Storage:对海量数据的高效率存储和访问的需求
– High Scalability && High Availability:对数据库的高可扩展性和高可用性的需求
具体应用场景:
(1)数据量大
(2)写入操作频繁(读写都很频繁)
(3)价值较低的数据,对事务性要求不高
对于这样的数据,我们更适合使用 MongoDB来实现数据的存储。
相对MySQL,在以上以用场景可以以更低的成本解决问题(包括学习、开发、运维等成本)
所以在华为实习项目中的web服务中,也用到了MongoDB。
3. 数据类型
MongoDB的最小存储单位就是文档document对象。文档document对象对应于关系型数据库的行。数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。
BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称 Binary JSON;BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Bin Data类型。