### MongoDB学习手册知识点总结 #### 一、MongoDB简介 - **名称来源**:MongoDB的名称来源于英文单词“humongous”,意指巨大的。这个名字反映了MongoDB处理大规模数据的能力。 - **发展历史**:MongoDB自2010年发布以来,经历了多个版本的迭代。最新稳定版本v1.6于2010年8月5日发布,它是继1.0、1.2、1.4版本之后的主要稳定版本之一。由10gen公司为其提供商业支持。 - **数据库类型**:MongoDB是一款开源的、面向文档的数据库,属于NoSQL数据库的一种。NoSQL(Not Only SQL)是指非关系型数据库,用于存储大规模数据集,具有高伸缩性和灵活性。 - **平台支持**:MongoDB可以在Linux、Windows或OSX平台上运行,支持32位和64位应用。此外,MongoDB还提供了多种编程语言的驱动程序,包括Java、PHP、Ruby、C#、C++、JavaScript等。 #### 二、MongoDB特性 - **模式自由**:MongoDB支持动态查询和完全索引,能够轻松查询文档中的嵌入式对象和数组。 - **面向集合存储**:MongoDB以集合的形式存储数据,每个集合可以包含不同结构的文档,非常适合存储对象类型的数据,如文档中的嵌入式对象和数组。 - **高效存储**:支持二进制数据及大型对象(如照片和视频)的高效存储。 - **复制与故障恢复**:MongoDB提供了主-从、主-主模式的数据复制及服务器之间的数据复制功能,确保数据的可靠性和高可用性。 - **自动分片**:支持自动分片来实现云级别的可扩展性,可以根据需求动态添加额外的服务器来实现水平扩展。 #### 三、适用与不适用场景 - **适用场景**: - 作为信息基础设施的持久化缓存层。 - 实时插入、更新和查询,具有应用程序实时数据存储所需的复制及高度伸缩性。 - 存储文档格式的数据,MongoDB的BSON数据格式非常适合文档化的存储及查询。 - 支持MapReduce引擎的内置支持,适用于由数十或数百台服务器组成的数据库集群。 - **不适用场景**: - 对于要求高度事务性的系统,如金融交易系统,MongoDB可能不是最佳选择。 - 传统的商业智能应用,这些应用通常需要复杂的SQL查询。 - 复杂的跨文档(表)级联查询。 #### 四、MongoDB的工作方式 - **数据组织**:MongoDB的数据组织类似于传统的关系数据库,但使用了更灵活的集合(collection)和文档(document)的概念。集合类似于关系数据库中的表,而文档则是存储数据的基本单位,每个文档都是一个键值对集合。 - **BSON数据格式**:MongoDB使用一种名为BSON(Binary Serialized Document Notation)的数据格式来存储数据。BSON是一种类似于JSON的二进制格式,支持更多的数据类型,如日期、二进制数据等。 - **安装与启动**:MongoDB是一个免安装的数据库,解压后生成一个bin目录,其中包含数据库服务器(mongod.exe)和命令行Shell客户端(mongo.exe)两个主要的可执行文件。 通过以上知识点的介绍,我们可以了解到MongoDB作为一种流行的NoSQL数据库,具有模式自由、高性能、易于扩展等特点,在很多场景下都表现出色。对于希望快速开发Web应用并需要处理大量非结构化数据的应用开发者来说,MongoDB无疑是一个很好的选择。
- 粉丝: 3
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助