JAY站

Valar Morghulis Valar Dohaeris

静下心来,用心观察 处处都透着生活的美.


MongoDB系列 01 - MongoDB与相关技术

nosql-sql

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数据的存储

不适合场景

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

相关链接

最近的文章

redis系列 02 - redis配置

_._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-...…

redis继续阅读
更早的文章

redis系列 01 - redis与相关技术

redis 简介Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的日志型,键值对存储数据库 参考维基百科Redis定义 支持多语言 键值存储, 非关系型数据库 持久化, 主要存储在内存中, 使用硬盘快照与日志的形式持久化 网络同步, 支持主从同步, 消息的发布/订阅 性能非常高, 基于内存的读写. 读的速度是110000次/s,写的速度是81000次/sredis 相关技术的比较 数据类型更丰富: Redis的值,不仅限于字符串, 还可以包含更...…

redis继续阅读