MongoDB 简介|学习笔记

本文涉及的产品
PolarClaw,2核4GB
简介: 快速学习 MongoDB 简介

开发者学堂课程【快速掌握 MongoDB 数据库MongoDB简介】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/400/detail/5184


MongoDB简介

 

内容介绍

一、MongoDB简介(了解)

二、为什么要两个数据库结合使用?

 

一、MongoDB简介(了解)

MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就已经存在NOSQL 数据库。数据库之中支持的 SQL 语句是由 IBM 开发出来的,并且最早就应用在 Oracle 数据库,但 SQL 语句的使用并不麻烦,就是几个简单的单词:SELECT、FROM、WHERE、DROUP BY、HAVING、ORDER BY(几个有限的语句组成了现在的 SQL)。但是在这个时候有人开始反感于编写SQL 操作。实际上在 SQL 这个问题反感的典型代表包括微软最早的某产品,所以它里面要增加就使用 insert 函数,修改就使用update 函数。于是有人就开始提出一个理论——不要去使用 SQL ,所以最早的 NOSQL 概念产生了。但是后来的发展产生了一点变化,在90年代到2010年之间,世界上最流行的数据库依然是关系型数据库,并且围绕着关系型数据库开发出大量的程序应用,比如玩的网络游戏、使用的电话移动信息、所有的个人信息化操作都在关系型数据库里保存着。但是后来又随着移动技术的发展,关键是移动技术的发展还伴随着另外的技术(云技术,大数据)在这样的环境下发展,传统的关系型数据库的最大的问题就是数据存储空间有限,所以 Oracle 里面提供了操作,能够实现跨数据的数据共享,但是配置极其复杂,如果要想用 Oracle 来实现一个数据库局限操作,实践起来是相当复杂。随着发展,很多公司并不愿意使用大型的厂商数据库--Oracle、DB2,因为都已经习惯于使用于 MYSQL 数据库。MYSQL数据库的发展特别好,然后发现在大数据、云计算的环境下,数据存储受到了很大的挑战,后来就开始重新进行了NOSQL 数据库的开发,但是经过长期的开发发现 NOSQL 数据库依然不能离开传统的关系型数据库(NOSQL、Not Only  SQL),不能仅仅是传统的 SQL 数据库,应该是两个数据库结合使用。

 

二、为什么要两个数据库结合使用?

1、实际上在现实的开发之中一直存在一个神奇的问题:

(1)、数据表==>JDBC读取==>POJO(VO、PO)==>控制层转化为 JSON 数据==>客户端

这样的转换实在是太麻烦了,最好的方法就是直接有一个数据库里存放有要显示的json数据库,那么就省略了所有需要进行转换的过程。

(2) 、每一个程序确定程序的好坏是最基本的标准是时间复杂度和空间的复杂度,很明显这个转换会造成时间的加长,而不是空间的加大,因为索取的数据是有限的。取得数据是有分页操作,一定不可能站的地方特别大,但一定存在操作时间的加长,他的时间在资源里零点几秒也是时间,能用0.1的时间而用0.5秒就是浪费资源。所以在这样的环境下,发现的数据库之中应该存有副本,所以在一定的实际开发之中,除了关系型数据库之外还要提供一个 NOSQL 数据库负责数据的读取,因为直接保存的就是 json(前提: mongDB 中的数据是排列好的组合数据)

(3)、例如:

要求显示出每个雇员的编号、姓名、职位、部门名称、部门位置、工资等级。如果想拿它做个列表就需要三张表关联,就要求五个量的显示,那么传统的关系型数据库中需要存放大量的数据。

(4) 、传统的关系型数据库之中一定要存放大量的冗余数据,不合理。而有了NOSQL 数据库之中,可以直接在业务层里面将数据交给NOSQL 数据库保存,按照指定的结构进行存储。记住结构存储是人为定义的结构,结构是不能被改变、修改,大概解释是每行可以不一样,但要尽量保持一样。

2、在MongoDB 数据库之中与 Oracle e数据库有如下的概念对应:

NO.

关系型数据库

NOSQL 数据库

1

数据库

数据库(类似于MySQL )

2

集合

3

文档

4

成员

5

主键

Object ID(自动维护)

(1) 、在整个行业之中,MongoDB 数据库是发展最好的一个NOSQL 数据库,因为它与node.js 捆绑在一起了,如果要从事 node.js 的开发,那么一定要使用MongoDB,而 node.js 在国内最好的应用--taobao。实际在整个行业中所有的后台业务中心用Java搭建是最好用、最安全、最保守的。这些是因为前面 node.js 一个最大的特点是基于 JavaScript 操作,相当于把 JavaScript 放到了服务器端,不再是简单的客户端。

(2) 、MongoDB 之所以能够很好的发展也取决于:面向集合的存储过程、模式自由(无模式)、方便的进行数据的存储扩充、支持索引、支持短暂数据保留、具备完整的数据库状态监控、基于 BSON 应用。

(3)、模式自由:传统数据库是有模式的,一般情况下用户名和模式名称现在是分不开、一样的,所以往往把用户名理解成模式名,但实际上是两个概念。

(4)、短暂数据保留:比如最常见的功能:给手机注册发了验证码。该验证码90秒内能使用,但过了可能会使用,因为时间可能不准,可以作为临时的数据保留。

(5)、BSON 应用:是一种计算机数据交换格式,主要被用作 MongoDB 数据库中的数据存储和网络传输格式。

(6)、MongoDB 支持各种主流语言,在 prp 编程世界里很大一部分用户是使用MongoDB 数据库去开发,MongoDB 数据库与传统的关系型数据库不是互斥的关系,是互补的关系,两者一定是同时存在。

相关文章
|
9月前
|
JSON NoSQL Shell
MongoDB简介
MongoDB 是一款开源、高性能、无模式的文档型数据库,属于 NoSQL 产品,支持灵活的 BSON 数据格式,结构类似 JSON,适合存储复杂数据。它以文档为最小存储单位,具备高性能、高可用、高扩展性,支持丰富查询及多种数据类型,适用于大规模数据场景。
600 0
|
存储 NoSQL 关系型数据库
微服务——MongoDB简介和体系结构
MongoDB是一种开源、高性能的文档型数据库,采用无模式设计,数据结构灵活,以类似JSON的BSON格式存储。它将记录作为文档,由字段和值对组成,支持复杂数据类型及嵌套结构。相比MySQL,MongoDB去除了传统表结构,使用集合(Collection)存储文档,适合处理非结构化和半结构化数据,简化开发并提升扩展性。其架构更灵活,适用于高并发和大数据场景。
622 0
|
JSON NoSQL 关系型数据库
MongoDB简介
MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。 它支持的数据结构非常松散,是一种类似于 JSON 的格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。 MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。
|
存储 NoSQL 关系型数据库
MongoDB简介以及核心概念
MongoDB简介以及核心概念
294 1
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
260 0
|
存储 分布式计算 NoSQL
MongoDB的简介和安装(在服务器上)
MongoDB的简介和安装(在服务器上)
677 0
|
存储 JSON NoSQL
MongoDB从入门到实战之MongoDB简介
MongoDB从入门到实战之MongoDB简介
362 0
MongoDB从入门到实战之MongoDB简介
|
存储 JSON NoSQL
01 MongoDB - 简介
01 MongoDB - 简介
148 0
|
存储 JSON NoSQL
95分布式电商项目 - MongoDB 简介
95分布式电商项目 - MongoDB 简介
222 0
|
存储 JSON NoSQL
MongoDB 简介
MongoDB 简介
703 0
MongoDB 简介

推荐镜像

更多