mongoDB介绍

前言:可以任意的存储字段结构,数据之间的格式不一致,键值对也不一致的数据库存储格式归于mongoDB了,接触了之后被这种“随意”的存储圈粉了。简单记录下基础学习知识。

本篇分为两部分进行描写:

第一部分:基础介绍 https://www.cnblogs.com/mfyngu/p/10734173.html

第二部分:基础使用https://www.cnblogs.com/mfyngu/p/10734312.html

求知三问:是什么?为啥要用它?有啥缺点吗?使用的环境是什么?

 

1:mngoDB是什么?

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方,所以sql语言将不适用于mongoDB。

2:mongoBD的特点?

    (1)一个数据库对应多个集合

    (2)一个集合对应多个文档对象

    (3) 在mongo中不论是db还是集合,你都无需去创建他 直接就当他已经存在, 直接Use来使用

   eg:   use db名称;  
接着会被切换到该db中
db.要创建的集合的名称.save({})

3:有啥缺点吗? ~不应该先描述优点吗?

【优势】:

(1)在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。

(2)MongoDB的高可用和集群架构拥有十分高的扩展性。

(3)在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。

(4)MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。

【劣势】:

(1) 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。

(2)应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。

(3)MongoDB占用空间过大。

对比mongoDB和mysql ~~

 

4:使用的范围?

非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

(1)存储方式:虚拟内存+持久化。

(2)查询语句:是独特的MongoDB的查询方式。

(3)适合场景:事件的记录,内容管理或者博客平台等等。

(4)架构特点:可以通过副本集,以及分片来实现高可用。

(5)数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

(6)成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

 

基础介绍部分已经完成:本部分大多来源于网络资料,进入第二部分

 

 

原文地址:https://www.cnblogs.com/mfyngu/p/10734173.html