一,引言
MongoDB 是一个开源的文档数据库,并是领先的NoSQL数据库。
MongoDB 是由C++语言编写。
通过本系列教程的讲解,使得学习者可以了解并掌握创建和部署高度可扩展和高性能的面向对象数据库MongoDB概念和理解。
该系列教程是专为软件专业人员学习MongoDB 数据库提供简单轻松的步骤。
通过学习希望学习者理解MongoDB 的概念和使用技巧。
通过系统连续性的学习可以使学习者在数据库领域的专业水平提升到一定的层次。
应该有一定的数据库基础,比如学习过SQLServer、MySQL或Oracle等。
由于要开发高性能的数据库,文本编辑器和执行程序等。
如果已经理解数据库的基本概念(RDBMS)将对理解本教程有帮助。
了解Json数据格式或掌握JavaScript编程基础。
二,简介
MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性、高并发和可扩展性方便。 MongoDB 工作在收集和文件的概念。
数据库是一个物理容器集合。每个数据库都有自己的一套文件系统上的文件。一个单一的MongoDB 服务器通常有多个数据库。
集合是一组MongoDB的文档。它相当于一个RDBMS表。收集存在于一个单一的数据库。集合不执行模式。集合内的文档可以有不同的领域。通常情况下,一个集合中的所有文件是相同或相关的目的。
文档是一组 键 - 值 对。文件动态模式。动态模式是指,在相同集合中的文档不需要具有相同的字段或结构组的公共字段的集合的文档,可以容纳不同类型的数据。
显示RDBMS术语与MongoDB的关系
MongoDB 优点
任何关系型数据库,具有典型的架构设计,显示表和这些表之间的关系。然而在 MongoDB 中,没有什么关系的概念。
MongoDB 比 RDBMS 的优势
架构: MongoDB 是文档型数据库,其中一个集合保存不同的文件。字段的数量,内容和该文件的大小可以是从一个文件复制到另一个。
一个单一的对象是结构清晰
没有复杂的连接
深查询能力。 MongoDB 支持动态查询使用基于文档的查询语言,如SQL几乎一样强大的文件
调优
易于规模化:MongoDB 是易于扩展
不需要数据库对象的应用程序对象转换/映射
使用内部存储器存储(窗口)工作组,从而实现更快的数据存取
为什么要使用 MongoDB
JSON风格文件的形式,面向文档存储:数据存储
对任何属性可索引
复制和高可用性
自动分片
丰富的查询
快速就地