mongodb系列01--基础篇

今年入职花旗,刚进来leader 就交待我去研究mongodb,搭建mongodb分布式集群,以前没有接触过这一块硬着头皮开始学习mongodb。 到如今已通过去4个月了,今天把学习mongodb的过程当中的一些知识和体会写下来供大叫参考,固然主要可能仍是我本身看。
    关于mongodb集群环境的搭建你们能够看个人另外一篇博客,我给出了mongodb测试环境集群的详细地搭建过程,固然也给出了高可用分布式生产环境集群的架构策略。

1

由于入职一个月以后新人须要开一个技术演说的session,个人选题就是mognodb的研究,这里我会配合个人PPT进行讲解,这个过程会涉及不少基础的计算机知识,相信你们看了应该是大有帮助html

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,立刻就要抢光了。
2sql

MongoDB[1]  是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。相似于json的bson组成---二进制形式的json,MongoDB 文档相似于 JSON 对象 。所以能够存储比较复杂的数据类型。字段值能够包含其余文档,数组及文档数组。

3

在mongodb中基本的概念是文档、集合、数据库,下面咱们挨个介绍
时间换空间
咱们能够对比sql和mongodb来了解一下,在关系型数据库中数据库下的基本单位是table,而在mongodb中是用collection,一行数据对应的是mongodb中的一个文档,这就是为何咱们称mongodb为面向文档的数据库,咱们注意到mongodb中不存在表链接的状况,关系型数据库的典型特征是表之间存在关联关系,mongodb不存在这种表链接语句,那么文档之间的一对一地以对多,多对多的状况mongodb能够经过在字段中嵌套一个或多个文档来实现这种关系,我认为这是一种以空间换时间的作法,好比有两张表用户表和商品表,一个用户对应多个商品,假设想要查询一个用户下的全部商品信息,在关系型数据库的查询中须要链表查询join,咱们知道join必然会带来不少磁盘随机度的操做,随机读没法像顺序读那样的局部性好,缓存效果很差,反观Mongodb这种Nosql系统中,能够将一个用户的对应的全部商品信息嵌套存入该用户对应的文档的字段里面去,也就是说这些信息都存在一个文档中,局部性很好,这样的虽然磁盘冗余了大量的数据,但却大大加快了查询的速度,从当前计算机的发展来看,空间换时间是很正常的,而计算机最关键的技术高速缓存cache技术就是用空间换时间的典范。mongodb

相关文章
相关标签/搜索