MongoDB

1. MongoDB介绍

MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是 像关系型数据库(MySQL)的非关系型数据库。 它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。
MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认 为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

2. Redis和MongoDB的区别

Redis,键值对数据库,支持多种数据类型,数据存在内存,可以rdb、aof持久化到硬盘

mongodb文档数据,可以存放xml、json、bson类型系那个的数据。

3. 应用场景

应对“三高”:高并发、高可用
适合场景:事件记录、内容管理或者博客平台,比如评论系统。
具体的应用场景如:
1)社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。 2)游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问。 3)物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将 订单所有的变更读取出来。
4)物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。 5)视频直播,使用 MongoDB 存储用户信息、点赞互动信息等。

4. 什么时候选择MongoDB?

在架构选型上,除了上述的三个特点外,如果你还犹豫是否要选择它?可以考虑以下的一些问题:
应用不需要事务及复杂 join 支持
新应用,需求会变,数据模型无法确定,想快速迭代开发
应用需要2000-3000以上的读写QPS(更高也可以)
应用需要TB甚至 PB 级别数据存储
应用发展迅速,需要能快速水平扩展
应用要求存储的数据不丢失
应用需要99.999%高可用
应用需要大量的地理位置查询、文本查询
如果上述有1个符合,可以考虑 MongoDB,2个及以上的符合,选择 MongoDB 绝不会后悔。
MongoDB安装与部署

1. Windows下安装MongoDB

(1)下载安装包
下载地址:https://www.mongodb.com/download-center/community
在这里插入图片描述

(2)解压MongoDB压缩包

在这里插入图片描述

(3)在mongodb目录下新建mongodb.conf文件,配置如下

dbpath=D:\mongodb\data    #数据存放目录
logpath=D:\mongodb\log\mongo.log  #日志存放目录
logappend=true   #开启日志追加
port=27017      #设置端口号
bind_ip=0.0.0.0    #运行任何ip地址访问,去掉的话就是只有本机可以访问
【注意:需要先将data、log目录创建好】

(4)启动MongoDB

mongod -f D:\ mongodb\ mongodb.conf

(5)打开浏览器,输入:localhost:27017,显示如下效果
在这里插入图片描述
Linux下安装MongoDB

(1)下载安装包
下载地址:https://www.mongodb.com/download-center/community
在这里插入图片描述
也可用命令下载

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz

在这里插入图片描述
解压MongoDB

tar -zxvf  mongodb-linux-x86_64-rhel70-4.2.6.tgz -C /usr/local/

将下面的配置加到环境变量中:进入/etc/profile

export PATH=/usr/local/mongodb-linux-x86_64-rhel70-4.2.5/bin:$PATH

【如果出现:使用命令,未找到命令,是因为环境变量出问题,可以执行export PATH=/bin:/usr/bin:$PATH】
让/etc/profile修改生效

source /etc/profile

创建MongoDB数据存储位置

mkdir /home/data

创建配置文件/etc/mongodb/mongodb.conf

dbpath=/home/data/   #数据存放目录
#logpath=/home/data/mongo.log  #日志存放目录
#logappend=true   #开启日志追加
port=27017      #设置端口号
bind_ip=0.0.0.0    #运行任何ip地址访问,去掉的话就是只有本机可以访问

启动MongoDB,指定配置

mongod -f /etc/mongodb/mongodb.conf

客户端连接MongoDB

mongo mongodb://localhost:27017

远程连接MongoDB
在Linux开启防火墙

firewall-cmd --zone=public --add-port=27017/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --list-port

在windows用命令连接
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值