MongoDB基本概念介绍

简介

mongodb是一款非关系型面向文档的数据库,它的特点是高性能、易部署、易使用,存储数据方便。

概念

数据库

数据库是一个物理容器集合。每个数据库都有自己的一套文件系统上的文件。一个单一的MongoDB服务器通常有多个数据库。

集合

集合是一组MongoDB的文档。它相当于一个RDBMS表。收集存在于一个单一的数据库。集合不执行模式。集合内的文档可以有不同的领域。通常情况下,一个集合中的所有文件是相同或相关的目的。
它类似关系型数据库中的“表”,多个集合构成数据库。

文档

文档是一组键 - 值对。文件动态模式。动态模式是指,在相同集合中的文档不需要具有相同的字段或结构组的公共字段的集合的文档,可以容纳不同类型的数据。
它类似关系型数据库中的“行”,多个文档构成集合

索引

索引是一种特殊的数据结构,存储设置在一个易于遍历形式的数据的一小部分。索引存储一个特定的字段或一组字段的值,在索引中指定的值的字段排列的。

复制

复制是跨多个服务器同步数据的过程中。复制提供了冗余和增加数据可用性与不同的数据库服务器上的数据的多个副本,复制保护数据库从一台服务器上的损失。复制也可以让恢复硬件故障和服务中断。额外的数据副本,可以进行灾难恢复,报告,或备份。

分片

分片存储在多台机器上的数据记录的过程,它是MongoDB的方法来满足数据增长的需求。一台机器上的大小的数据的增加,可能并不足够来存储数据,也不能提供可接受的读取和写入通过。分片解决问题的水平缩放。通过分片,你添加更多的机器支持数据增长的读取和写入操作需求。

常用命令

  • mongod 执行命令
  • mongo 连接客户端
  • mongoimport/mongoexport 数据导入/导出
  • mongodump/mongorestore 数据备份/恢复
  • mongostat 查看mongo服务器的状态
  • explain 查看查询的过程,以便进行性能优化
  • pretty 格式化查询结果

搭建(待完成)

  • 搭建简单的单机服务
  • 搭建具有冗余容错功能的复制集
  • 搭建大规模数据集群
  • 完成集群的自动部署

使用(待完成)

  • 文档读写更新删除
  • 索引的创建与使用
  • 复杂的聚合查询
  • 数据集合进行分片
  • 数据备份与恢复
  • 数据迁移

运维(待完成)

  • 部署mongodb集群
  • 处理多种常见的故障
    1. 单节点失效,如何恢复工作
    2. 数据库意外被杀死,如何进行数据恢复
    3. 数据库发生拒绝服务时如何排查原因
    4. 数据库磁盘快满时如何处理