安装:

  1. 解压到D:mongo,新建D:mongoDB目录
  2. cmd到D:mongobin目录,输入:mongod —logpath
    D:mongologsmongodb.log —logappend —dbpath D:mongoDB
    —directoryperdb —serviceName MongoDB —install
    该命令行指定了日志文件:/logs/MongoDB.log,日志是以追加的方式输出的;
    数据文件目录:/data/db,并且参数—directoryperdb说明每个DB都会新建一个目录;
    Windows服务的名称:MongoDB;
    以上的三个参数都是可以根据自己的情况而定的。
    最后是安装参数:—install,与之相对的是—remove
    以后就可以在cmd下用命令net start MongoDB和net stop
    MongoDB来启动和停止MongoDB了,也可以在本地服务中看到

MongoDB与MySQL对应

database   database
table collection
index index
row BSON?document
column BSON field
join embedding and linking
primary key _id field
group by aggregation

它的shell是一个javascript引擎,因此可以使用javascript语言。
但是特殊的操作,要靠驱动包来完成(java,nodejs)。

db.person.insert({_id:1,name"123",age:25})
db.person.remove({_id:1})
db.person.update({_id:1},{name:"23"})

单表查询非常强大,但是级联的话就没支持了。

db.person.find({country:{$in:["USA","China"]}},{_id:0,name:1})

索引

  • 二维索引
    • 固定集合:常用于日志
    • 锁:上锁,用于数据库备份,备份好后解锁。
    • 数据修复:db.repairDatabase()
    • 主从试集群:
    • 副本集:
    • 分片:集群:路由—》配置服务器—》片区1 —》片区2

什么时候用到分片呢?

  • 机器的磁盘空间不足
  • 单个的mongoDB服务器已经不能满足大量的插入操作
  • 想通过把大数据放到内存中来提高性能

分片步骤

  • 创建一个配置服务器
  • 创建路由服务器,并且连接配置服务器
  • 路由器是调用mongos命令
  • 添加2个分片数据库
    10000和20000
  • 利用路由为集群添加分片(允许本地访问)
    切记之前不能使用任何数据库语句
db.runCommand({addshard:"127.0.0.1:10000",allowLocal:true})
db.runCommand({addshard:"127.0.0.1:20000",allowLocal:true})
  • 打开数据分片功能,为数据库foobar打开分片功能
db.runCommand({"enablesharding":"foobar"})
  • 对集合进行分片
db.runCommand({"shardcollection":"foobar.bar","key":{"_id":1}})
  • 利用大数据量进行测试 (800000条)
  • 在每个片区查询数据
  • 查看配置库对于分片服务器的配置存储
db.printShardingStatus()
  • 查看集群对bar的自动分片机制配置信息
mongos> db.shards.find()
文章目录
  1. 1. 安装:
  2. 2. MongoDB与MySQL对应
  3. 3. 索引
  4. 4. 什么时候用到分片呢?
  5. 5. 分片步骤

Sides

IT技术分享博客