MongoDB的相关概念
mongo、索引、集合、复制集(数据集)、分片、数据均衡
部署数据库服务的学习阶段步骤
1.搭建简单的单机服务
2.搭建具有冗余容错功能的复制集
3.搭建大规模数据集群(多分片)
4.完成集群的自动部署
部署mongodb集群的常见故障
1.单节点失效,如何恢复工作
2.数据库意外被杀死如何进行数据恢复
3.数据库发生拒绝服务时如何排查原因
4.数据库磁盘快满时如何处理
mongodb相关学习网站
www.mongodb.com
www.mongoing.com
docs.mongoing.com/manual-zh/
github.com/mongodb
jira.mongodb.org/browse/TOOLS
NoSQL数据库
redis、hbase
与SQL相比,mongodb的优点
1.无数据结构的限制
没有表结构的概念,每条记录可以有完全不相同的结构
业务开发方便快捷
SQL数据库需要事先定义好表结构再使用
2.完全的索引支持
单键索引,数组索引,全文索引,地理位置索引
3.方便的荣冗余扩展
复制集保证数据的安全
分片扩展数据规模
4.良好的支持
完善的文档
齐全的驱动支持
编译
1.在github上下载mongodb-*.zip
2.解压后进入目录下
3.scons all(编译)
解压
tar -xzvf mongodb-linux-x86_64-3.2.8.tgz
创建配置文件
mongo.conf
mkdir data
mkdir log
vim mongo.conf
port=27017
dbpath=data
logpath=log/mongodb.log
启动服务器
./bin/mongod -f mongo.conf --journal -storageEngine=mmapv1
客户端
./mongo
显示所有数据库
show dbs
选择数据库(若没有则新建)
use test
销毁数据库
db.dropDatabase()
use test
插入数据(向表col中插入数据)
db.col.insert({x:100,name:"tong"})
db.col.insert({y:10,name:"jony"})
显示所有表
show collections
db.col.find()
db.col.find({x:100})
db.col.find().count()
for(i=1;i<=100;i++)
db.col.insert(x:i)
db.col.find().skip(3).limit(2).sort({x:1})
#忽略三条,显示两条,按x正序排列
db.col.update({x:1},{x:999})
db.col.insert({x:100,y:200,z:300})
db.col.update({z:300},{$set:{y:999}})