MongoDB由C++语言编写,是一个基于分布式文件存储的数据库,目的在于为web应用提供可扩展的高性能数据存储解决方案。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson(键为字符串类型,用于唯一表示一个文档;值可以是各种复杂的文件类型。这种存储形式称为bjson)格式,可以存储比较复杂的数据类型。
它最大的特点:面向集合存储(数据被分组存储在数据集中,称为集合,每个集合都有一个唯一的标识名,可以包含无限数目的文档),模式自由(对于存储在mongodb中的文件,不需要知道它的结构定义)
关系数据库与Mongodb的对比
传统的关系数据库一般由数据库(Database)、表(Table)、记录(Record)三层组成;而Mongodb是由数据库(Database)、集合(Collection)、文档对象(Document)三层组成。
一、安装Mongodb
1.下载Mongodb
cd /usr/local/src
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.4.tgz
2.首先创建用户并解压
useradd mgdb
tar -zxvf mongodb-linux-x86_64-3.6.4.tgz -C /home/mgdb
vim /etc/profile
export PATH=/home/mgdb/mongodb/bin:$PATH
chown -R mgdb.mgdb mongodb
3.修改配置文件
vim /etc/mongod.conf
###日志存储位置
systemLog:
destination: file
path: /home/mgdb/mongodb/mongod.log
logAppend: true
storage:
##journal配置
journal:
enabled: false //生产环境建议开启,以保持数据一致性
##数据文件存储位置
dbPath: /home/mgdb/mongodb/data/db
##是否一个库一个文件夹
directoryPerDB: true
##数据引擎
engine: wiredTiger
##WT引擎配置
wiredTiger:
engineConfig:
##WT最大使用cache(根据服务器实际情况调节4~8)
# cacheSizeGB: 4
##是否将索引也按数据库名单独存储
directoryForIndexes: true
##表压缩配置,数据压缩算法,可选值“none”、“snappy”、“zlib”
collectionConfig:
blockCompressor: none
##索引配置
indexConfig:
prefixCompression: true
##使mongo进程成为系统集成(父id为1)
processManagement:
fork: true
pidFilePath: /home/mgdb/mgdbpid/mongod.pid
##端口配置,将默认端口设为10689(默认为27017)
net:
port: 10689
bindIp: xxx.xxx.xxx.xxx
# maxIncomingConnections: 65536
wireObjectCheck: true
ipv6: false
#security:
#keyFile: /data/mongokey
#authorization: enabled
# enableLocalhostAuthBypass: true
5.修改内核参数
echo
never >
/sys/kernel/mm/transparent_hugepage/enabled
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。