且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略

更新时间:2022-05-21 06:58:16

MongoDB的简介


         MongoDB是基于分布式文件存储的数据库,高性能、可扩展、易部署、易使用,存储数据非常方便。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB支持的客户端语言有:c,php,java,python,nodejs。


MongoDB中文官网:https://www.mongodb.org.cn/

MongoDB英文官网:https://docs.mongodb.com/manual/introduction/

MongoDB 中文手册:https://mongodb.net.cn/manual/




1、MongoDB的主要功能特性


它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:


*面向集合存储,易存储对象类型的数据。

*模式***。

*支持动态查询。

*支持完全索引,包含内部对象。

*支持查询。

*支持复制和故障恢复。

*使用高效的二进制数据存储,包括大型对象(如视频等)。

*自动处理碎片,以支持云计算层次的扩展性。

*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

*文件存储格式为BSON(一种JSON的扩展)。

*可通过网络访问。



2、对MongoDB进行增删改查(CRUD)操作


MongoDB 插入文档

MongoDB 更新文档

MongoDB 删除文档

MongoDB 查询文档





MongoDB的下载


官网下载:https://docs.mongodb.com/manual/administration/install-community/







MongoDB的案例应用


1、MongoDB适用和不适用的场景


MongoDB已经在多个站点部署,其主要场景如下:


1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。

不适用的场景如下:


1)要求高度事务性的系统。

2)传统的商业智能应用。

3)复杂的跨文档(表)级联查询。