mongo实战2-第1章 初始mongo

MongoDB是一个开源的、面向文档的数据库管理系统,为全新的互联网应用的数据模型和伸缩性设计,
具有动态查询和辅助索引、快速原子更新一集复杂聚合,支持自动化灾备的复制,还有水平伸缩的分片集群等特性。

mongodb特性

  1. mongodb 数据是以文档(document)为单位,每个document相当于关系型数据库中表里的一行记录。
  2. document是json格式的
  3. mongodb 是无schema的。这意味着在插入数据之前,我们并不需要预先创建表;在应用的迭代过程中,也可以随时修改数据的结构;
  4. 支持复杂的动态查询,(在书中称为ac hoc查询,关系型数据库支持也支持这种查询);
  5. 支持主键索引和聚合索引
  6. 支持数据库复制特性,可复制集合(replica set)。在多个服务器上分布式存储数据,实现数据的冗余存储和自动灾备。
  7. 支持数据分片存储(sharding),将数据存储在多个服务器上

核心服务和工具

mongo实例是通过mongod的可执行文件启动的,mongod进程使用自定义的二进制协议从网络上接收命令。mongo的数据默认存储在/data/db的目录下,mongod可以有单机和可复制集群两种模式

常用的命令行工具

  • mongodump 和mongorestore ——备份和恢复数据库工具。mongodump把数据保存为原生的BSON格式,因此适用于备份。这个工具的一大优点是适合热备,而且非常容易使用mongostore命令恢复。
  • mongoexport 和mongoimport——导入或者导出JSON、csv、TSV格式的数据。mongoimport还可以导入大数据集合,只是经常需要在导入之前调整数据模型以便发挥mongodb的最大优势。此时最简单的导入数据方式就是使用自定义脚本。
  • mongosniff —— 用于查看发送给数据库命令的嗅探工具,通常会把BSON转换为人类可读的shell语句
  • mongostat—— 与iostat 类似,这个工具用来轮训mongodb,查看mongo服务的状态信息,包括每秒操作数(增删改查等),分配虚拟内存的数量,以及服务器的链接数量
  • mongotop ——与top类似,显示它在每个集合里花费的读取和写入数据的时间总数
  • mongoperf —— 了解mongodb实例磁盘的操作情况
  • mongooplog—— 展示mongodb操作日志里的信息
  • Bsondump 把bson文件转换为人可读的格式,包括json

mongo的应用场景

  1. 敏捷开发
    由于mongo不需要定义schema,所以开发速度较快
  2. 日志分析工具,存储一些低价值的数据
  3. 缓存

mongo的限制

  1. 不能多表联合查询
  2. 不支持事务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值