首页 > 数据库技术 > 详细

mongodb

时间:2019-12-23 20:43:49      阅读:133      评论:0      收藏:0      [点我收藏+]

关系型与非关系型
nosql not only sql
nosql,指的是非关系型的数据库
nosql有时也称作not only sql的缩写
是对不同于传统的关系型数据库的数据库管理系统的统称
对nosql最普遍的解释是“非关联型的”,强调key-value stores和文档数据库的有点,而不是单纯的rdbms。
nosql用于超大规模数据库的存储。
这些类型的数据存储不需要固定的模式,无需多余操作就可以横向发展。
今天我们可以通过第三方平台可以很容易的访问和抓取数据
用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。
我们如果要对这些用户数据进行挖掘,那sql数据库已经不适合这些应用了
nosql数据库的发展也缺能很好的处理这些大的数据

mogodb和mysql数据对比
mysql mongo
库 库
表 集合
字段 key:value
行 文档

name age job
oldzhang 28 it
oldqiang 28 it
oldya 18 student sz

{name:‘oldzhang‘,age:‘28‘,job:‘it‘},
{name:‘xiaoqiang‘,age:‘28‘,job:‘it‘},
{name:‘xiaoya‘,age:‘28‘,job:‘it‘,host:‘SZ‘}

mongodb的特点
高性能:
mongodb提供高性能的数据持久性
尤其是支持嵌入式数据模型减少数据库系统上的I/O操作
索引支持能快的查询,并且可以包括来嵌入式文档和数组中的键

丰富的语言查询:
mongodb支持丰富的查询语言来支持读写操作(crud)以及数据汇总,文本搜索和地理空间索引

高可用性:
mongodb的复制工具,成为副本集,提供自动故障转移和数据冗余

水平可扩展性:
mongodb提供了可扩展性,作为其核心功能的一部分,分片是将数据分在一组计算机上

支持多种存储引擎:
wiredtiger存储引擎和 mmapv1存储引擎和inmemory存储引擎

mogodb的应用场景
游戏场景,使用mongodb存储游戏用户信息,用户的装备,积分等直接以内嵌文档的形式存储,方便查询,更新
物流场景,使用mongodb存储订单信息,订单状态在运送过程中会不断更新,以mongodb内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来
社交场景,使用mongodb存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能
物联网场景,使用mongodb存储所有接入的只能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
视频直播,使用mongodb存储用户信息,礼物信息等,用户评论
电商场景,使用mongodb商城上衣和裤子两种商品,除了有共同属性和,如产地,价格,材质,颜色等外,还有各自有不同的属性集,如上衣的独有属性是肩宽,胸围,袖长等好,裤子的独有属性是臀围,脚口和裤长等。

安装mongodb
1.规划目录

软件所在目录

/opt/mongodb

单节点目录

/opt/mongo_27017/{conf,log,pid}

数据目录

/data/mongo_27017

2.下载并解压
yum install libcurl openssl -y
上传软件
tar xf mongodb-linux-x86_64-rhel70-4.0.14.tgz -C /opt/
cd /opt/
ln -s mongodb-linux-x86_64-rhel70-4.0.14 mongodb

3.创建文件目录以及数据目录
mkdir -p /opt/mongo_27017/{conf,log,pid}
mv /data /data_bak
mkdir -p /data/mongo_27017

第二章 配置启动mongo
1.创建配置文件
cat >/opt/mongo_27017/conf/mongodb.conf<<EOF
systemLog:
destination: file
logAppend: true
path: /opt/mongo_27017/log/mongodb.log

storage:
journal:
enabled: true
dbPath: /data/mongo_27017
directoryPerDB: true
wiredTiger:
engineConfig:
cacheSizeGB: 1
directoryForIndexes: true
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true

processManagement:
fork: true
pidFilePath: /opt/mongo_27017/pid/mongod.pid

net:
port: 27017
bindIp: 127.0.0.1,10.0.0.51
EOF

2.启动mongo
/opt/mongodb/bin/mongod -f /opt/mongo_27017/conf/mongidb.conf
3.检查是否启动
netstat -tnlup | grep 27017

第三章 配置登录mongo
1.写入环境变量
echo ‘export PATH=/opt/mongodb/bin:$PATH‘ >> /etc/profile
source /etc/profile
2.登录
mongo
3.关闭:
方法1:使用localhost登录
mongo localhost:27017
use admin
db.shutdown Server()
方法2:
mongod -f /opt/mongo_27017/conf/mongodb.conf --shutdown

mongodb

原文:https://www.cnblogs.com/wangdachu/p/12088178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!