摘要:
mongodb中主要有四种日志。分别是系统日志、Journal日志、oplog主从日志、慢查询日志等。这些 日志记录着Mongodb数据库不同方便的踪迹。下面分别介绍这四种日志: 1.系统日志 系统日志在Mongdb数据中很中重要,它记录mongodb启动和停止的操作,以及服务器在运行过程中发生的任 阅读全文
摘要:
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! 创建固定集合 我们通过createCollection来创建一个固定集合,且capped选项设置为 阅读全文
摘要:
关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏;现在在此篇博客中做个补充; 一、在命令行中传入脚本文件 定义一个javasciprt文件,名称为:script1.js,内容如下: print("I am albert shao in the script1.js") 定义另一 阅读全文
摘要:
在本篇博客中我们主要讲描述分片集群的搭建过程。配置分片集群主要有两个步骤,第一启动所有需要的mongod和mongos进程。第二步就是启动一个mongos与集群通信。下面我们一步步来描述集群的搭建过程。 图1-1 MongoDB分片集群中的组件 图 1-2 由实例分片集群构成的进程全貌 备注:以上两 阅读全文
摘要:
一、角色说明 要构建一个MongoDB分片集群,需要三个角色: shard server 即存储实际数据得分片,每个shard 可以是一个Mongod实例,也可以是一组mongod实例构成得Replica Set(也就是以前博客里说明的复制集)。为了实现每个shard内部的auto-failover 阅读全文
摘要:
在本篇里面,咱们重点总结一下复制集,以及分析一下它的工作原理 一、常见场景 应用程序和数据库之间的网络连接丢失 计划停机、断电、数据库服务硬盘故障等等 复制可以进行故障转移,复制能让你在副本间均衡读负载,保证复制节点与主节点保持同步 二、工作原理 副本集依赖于两个基础机制:oplog和“心跳”(he 阅读全文
摘要:
通过rs.status()命令我们可以查询到各个节点运行正常。 一、数据同步测试 在28011、28012端口上进行插入: 因为SECONDARY是不允许读写的, 在写多读少的应用中,使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担 阅读全文
摘要:
Replica Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自动修复功能成员节点的功能,各个DB之间的数据完全一致,大大降低了单点故障的风险。 【】 以上图示是三个节点的Replica Set架构。该图来源于红丸编写的《Mongodb管理与开发精要》这本书 阅读全文
摘要:
在了解了这篇文章之后,可以进行该篇文章的说明和测试。MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。类似于MySQL的MMM架构。更多关于副本集的介绍请见官网。也可以在google、baidu上查阅。 副 阅读全文
摘要:
需要启动两个mongoDb文档数据库,一个是主模式启动,另一个是属于从模式启动。 1. 创建主从服务器 主服务器:192.168.1.131:27017 备服务器:192.168.1.131:27015 创建主服务器 创建备服务器: 2.启动主备服务 3.进行同步数据测试 在主机上创建数据库,并插入 阅读全文
摘要:
MongoDB 聚合 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。 aggregate() 方法 MongoDB中聚合的方法使用aggregate()。 语法 aggregate() 方法的基 阅读全文
摘要:
稀疏索引(或者称间隙索引)就是只包含有索引字段的文档的条目,即使索引字段包含一个空值。也就是说间隙索引可以跳过那些索引键不存在的文档。因为他并非包含所有的文档,因此称为稀疏索引。与之相对的非稀疏索引或者说普通索引则包含所有的文档以及为那些不包含索引的字段存储null值。 一、间隙索引创建描述 二、间 阅读全文
摘要:
一、 普通索引篇 创建索引:db.person.ensureIndex({"age":1})。这里我们使用了ensureIndex在age上建立了索引。“1”:表示按照age进行升序,“-1”:表示按照age进行降序。 在多个键上建立的索引就是复合索引,有时候我们的查询不是单条件的,可能是多条件,比 阅读全文
摘要:
一 、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: > db.test.getIndexes() 删除 阅读全文
摘要:
MongoDB数据导入与导出 1、导出工具:mongoexport 1.1、概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。 1.2、语法: mongoexport - 阅读全文
摘要:
1、插入: 使用insert或save方法想目标集合插入一个文档: db.person.insert({"name":"ryan","age":30}); 使用batchInsert方法实现批量插入,它与insert方法非常类似,只是它接受的是一个文档数组作为参数。 一次发送数十,数百乃至数千个文档 阅读全文
摘要:
1 数据库常用命令 1、Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切换/创建数据库 use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3、查 阅读全文
摘要:
1、什么是MongoDB? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>val 阅读全文