MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
mongodb官网下载地址为:https://www.mongodb.com/download-center#community。
下面列举一些公司MongoDB的实际应用:
Craiglist上使用MongoDB的存档数十亿条记录。FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。Shutterfly,以互联网为基础的社会和个人出版服务,使用MongoDB的各种持久性数据存储的要求。bit.ly, 一个基于Web的网址缩短服务,使用MongoDB的存储自己的数据。spike.com,一个MTV网络的联营公司, spike.com使用MongoDB的。Intuit公司,一个为小企业和个人的软件和服务提供商,为小型企业使用MongoDB的跟踪用户的数据。sourceforge.net,资源网站查找,创建和发布开源软件免费,使用MongoDB的后端存储。etsy.com ,一个购买和出售手工制作物品网站,使用MongoDB。纽约时报,领先的在线新闻门户网站之一,使用MongoDB。CERN,著名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据使用MongoDB。具体应用场景
社交场景(微信朋友圈,通过地理位置索引实现附近的人、地点等功能)游戏场景(存储游戏用户信息,用户装备,积分等)物流场景(存储订单信息,订单状态的不断更新)物联网场景(存储所有接入的智能设备信息,以及日志信息)视频直播(存储用户信息,点赞互动信息等)这些应用场景中,数据操作方面的共同特点是:
数据量大写入操作频繁(读写都很频繁)价值较低的数据,对事务性要求不高。方式1:命令行参数方式启动服务 在 bin 目录中打开命令行提示符,输入如下命令:
mongod --dbpath=数据库路径 (=两边不能有空格)我们在启动信息中可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过–port来指定端口。 为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin 目录下是一些常用命令,比如 mongod 启动服务用的, mongo 客户端连接服务用的。
步骤如下: (1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。 (2)上传压缩包到Linux中,解压到当前目录:
tar -xvf mongodb-linux-x86_64-4.0.10.tgz(3)移动解压后的文件夹到指定的目录中:
mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb(4)新建几个目录,分别用来存储数据和日志:
#数据存储目录 mkdir -p /mongodb/single/data/db #日志存储目录 mkdir -p /mongodb/single/log(5)新建并修改配置文件
vi /mongodb/single/mongod.con配置文件的内容如下:
systemLog: # MongoDB发送所有日志输出的目标指定为文件 destination: file # mongod或mongos应向其发送所有诊断日志记录信息的日志文件路径 path: "/mongodb/single/log/mongod.log" # 当mongos或mongod实例重新启动时,mongos或mongod会将条目附加到现有日志文件末尾。 logAppend: true storage: # mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 dbPath: "/mongodb/single/data/db" journal: # 启用或禁用持久性日志以确保数据文件保持有效和可恢复 enabled: true processManagement: # 启用在后台运行mongos或mongod进程的守护进程模式。 fork: true net: # 服务实例绑定的IP,默认是localhost bindIp: localhost,10.9.135.195 # 绑定的端口,默认是27017 port: 27017(6)启动MongoDB服务
[root@bobohost single]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 90384 child process started successfully, parent exiting(7)分别使用mongo命令和compass工具来连接测试。
提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙
#查看防火墙状态 systemctl status firewalld #临时关闭防火墙 systemctl stop firewalld #开机禁止启动防火墙 systemctl disable firewalld