正在加载今日诗词....
3 min read

MongoDB系列 01 - MongoDB与相关技术

`MongoDB`是一种,分布式文件存储,文档导向的数据库管理系统,由`C++`撰写而成,以此来解决应用程序超大规模数据存储的问题. 它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. * 支持多语言 * 键值对数据存储 * 强大的查询功能 * 索引排序 * 允许在服务端执行脚本 * 高性能、易部署、易使用,存储数据非常方便 * 支持主从同步, 由于操作都是在主机,从机将复制任何更改的数据。
MongoDB系列 01 - MongoDB与相关技术

MongoDB 简介

MongoDB是一种,分布式文件存储,文档导向的数据库管理系统,由C++撰写而成,以此来解决应用程序超大规模数据存储的问题. 它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.

  • 支持多语言
  • 键值对数据存储
  • 强大的查询功能
  • 索引排序
  • 允许在服务端执行脚本
  • 高性能、易部署、易使用,存储数据非常方便
  • 支持主从同步, 由于操作都是在主机,从机将复制任何更改的数据。

MongoDB 相关技术的比较

相关技术: NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"

RDBMS vs NoSQL

RDBMS 特点

  • 高度组织化结构化数据
  • 结构化查询语言SQL
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言DML,数据定义语言DDL
  • 严格的一致性
  • 基础事务

NoSQL特点

  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 没有预定义的模式
    -键 - 值对存储,列存储,文档存储,图形数据库
  • 最终一致性,而非ACID属性
  • 非结构化和不可预知的数据
  • CAP定理
  • 高性能,高可用性和可伸缩性

MongoDB的安装

1. Linux 系统

  • 安装
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压

mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录

export PATH=/usr/local/mongodb/bin:$PATH # 配置执行路径的环境变量

mkdir -p /data/db # 设置默认的数据库路径
  • 启动命令
./mongod
  • 配置文件 mongod.conf

2. Mac OS 系统

  • 使用homebrew安装mongodb
 brew install mongodb
  • 成功标志
To have launchd start mongodb now and restart at login:
  brew services start mongodb
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.6.1: 19 files, 288.5MB
  • 启动时 调整配置
mongod --config /usr/local/etc/mongod.conf
  • 配置文件 mongod.conf

应用场景的考虑

适合场景

  • 超大规模数据存储
  • 网站数据
  • 缓存
  • 高伸缩性的场景
  • 用于对象及JSON数据的存储

不适合场景

  • 高度事务性系统
  • 传统的商业智能应用
  • 复杂的跨文档(表)级联查询

相关链接