MongoDB详解(一)——MongoDB理论基础

今天继续给大家介绍Linux运维相关知识,本文主要内容是MongoDB的一些理论知识。

一、关系型数据库和非关系型数据库简介

数据库依据其数据的组成形式,可以分为关系型数据库非关系型数据库两种。
所谓关系型数据库,即根据关系模型所组织数据的数据库。常见的关系型数据库有MySQL、Oracle、SQL Server等。
所谓非关系型数据库,即根据非关系模型来组织数据的数据库。常见的非关系型数据库有Redis、Memcache、Hbase、MongoDB。
在上文中,关系模型即常见的二维表模型,包括一对一的关系、一对多的关系以及多对多的关系等。除了关系模型外,常见的非关系模型有键值对、列存储、文件类型等等。
今天,我们所要介绍的MongoDB就是一款典型的文档型(非关系型)数据库。
关系型数据库和非关系型数据库,最大的区别在于数据的组织形式上,由于非关系型数据库不拘泥于二维表的关系模型,因此其数据的存储更加灵活多样。

二、文档型数据库简介

所谓文档型数据库,即数据库中存取的内容是以文档为形式组织的。常见的文档格式有两种,JSON和XML。
1、JSON
JSON即JavaScript Obeject Notation,JS对象的意思。JSON本身是一种轻量级的数据交换格式。JSON采用完全独立于编程语言的文本来存储和表示数据,并且具有简介和清晰的层次结构。一个JSON文档如下所示:

{
    
    
	id_sch:"9282020876"
	id_per:"377283201507021234"
	name:"Bob"
	Academy:"Math"
	Dormitory:"403"
}

2、XML
XML即Extensible Markup Language,可扩展标记语言。XML能有效的标识结构化数据,并且又有良好的可扩展性,可以作为描述和传输数据的手段。一个XML文档(遇上内容相同)如下所示:

<stu>
	<id_sch>9282020876</id_sch>
	<id_per>377283201507021234</id_per>
	<name>Bob</name>
	<Academy>Math</Academy>
	<Dormitory>403</Dormitory>
</stu>

三、MongoDB简介

MongoDB是1989年由lotus通过其产品notes提出的文档型数据库。MongoDB数据库由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储方案。MongoDB是一个基于分布式文件存储的数据库,强大、灵活且易于扩展。MongoDB数据库支持的查询语言非常强大,其语法类似于面向对象的查询语言,并且还拥有关系型数据库的索引功能,因此几乎可以实现关系数据库查询的绝大部分功能。MongoDB数据库官网网址为:https://www.mongodb.com/。其主页如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/124812615