MongoDB入门一之基本概念

一.数据库的分类

目前的数据库主要分为关系型数据库非关系型数据

关系型数据库

  •        通过SQL结构化查询和存储语句,最常见的就是Oracle和MySQL
  •        保持数据一致性理论,遵循ACID原理

非关系型数据库

  • Not Only SQL,是对不同于传统的关系型数据库的数据库管理系统的统称,典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库) 
  • 用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展
  • CAP定理 ,高性能,高可用性和可伸缩性

二.MongoDB的概念

MongoDB是一个基于分布式文件存储的开源数据库,由c++语言编写。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。它是非关系型数据库中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,是类似jsonbson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

MongoDB 的设计目标是高性能、可扩展、易部署、易使用,存储数据非常方便。其主要功能特性如下:

(1)面向集合存储,容易存储对象类型的数据。在MongoDB 中数据被分组存储在集合中,集合类似RDBMS 中的表,一个集合中可以存储无限多的文档。

(2)模式自由,采用无模式结构存储。在MongoDB 中集合中存储的数据是无模式的文档,采用无模式存储数据是集合区别于RDBMS 中的表的一个重要特征。

(3)支持完全索引,可以在任意属性上建立索引,包含内部对象。MongoDB的索引和RDBMS 的索引基本一样,可以在指定属性、内部对象上创建索引以提高查询的速度。除此之外,MongoDB 还提供创建基于地理空间的索引的能力。

(4)支持查询。MongoDB 支持丰富的查询操作,MongoDB 几乎支持SQL中的大部分查询。

(5)强大的聚合工具。MongoDB 除了提供丰富的查询功能外,还提供强大的聚合工具,如count、group 等,支持使用MapReduce 完成复杂的聚合任务。

(6)支持复制和数据恢复。MongoDB 支持主从复制机制,可以实现数据备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。

(7)使用高效的二进制数据存储,包括大型对象(如视频)。使用二进制格式存储,可以保存任何类型的数据对象。

(8)自动处理分片,以支持云计算层次的扩展。MongoDB 支持集群自动切分数据,对数据进行分片可以使集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。

(9)支持Perl、PHP、Java、C#、JavaScript、Ruby、C 和C++语言的驱动程序,MongoDB 提供了当前所有主流开发语言的数据库驱动包,开发人员使用任何一种主流开发语言都可以轻松编程,实现访问MongoDB 数据库。

(10)文件存储格式为BSON(JSON 的一种扩展)。BSON 是对二进制格式的JSON 的简称,BSON 支持文档和数组的嵌套。

(11)可以通过网络远程访问MongoDB 数据库。

MongoDB的基本概念有文档、集合和数据库:

       文档:

       文档是基本单位,类似于关系数据库中的行,比行稍微复杂。多个键值对有序的放在一起就构成了文档。格式如下:

{"name": "mongo", "value": "hello"}

key: 必须为字符串类型。

value:可以包含如下类型。

● 基本类型,例如,string,int,float,timestamp,binary 等类型。

● 一个document。

● 数组类型。

     

      集合:

      集合就是一组文档,类似于关系数据库中的表,但是可以存储不同结构的文档。例如,{“hello,word”:“Mike”}和{“foo”: 3},它们的键不同,值的类型也不同,但是它们可以存放在同一个集合中,也就是不同模式的文档都可以放在同一个集合中。

     数据库:

     多个文档构成集合,多个集合构成数据库。一个Mongo实例可以承载多个数据库,数据库之间可以看做相互独立,它们有独立的权限控制。在磁盘上,不同的数据库存放在不同的文件中。

参考链接:

https://baike.baidu.com/item/mongodb/60411

https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

https://blog.csdn.net/xin_ge_cheng_xu/article/details/79663549

猜你喜欢

转载自blog.csdn.net/sunjian1122/article/details/81742324