MongoDB 在线讲座系列4 – 如何测试、调整及监控MongoDB性能

活动内容
性能和稳定性是数据库产品最重要的指标之一,我们是怎样保证它们的?在本次讲座中,我们将会讨论如何保证MongoDB性能、性能评估以及容量计划的可用工具以及如何调整和监控MongoDB集群。讲座之后会有10-15分钟问答时间,欢迎大家积极参与。
时间:
2015.09.02 21:00-22:00

参与方式:

由于本次活动在线举办,所以只需要准备好可以联网的设备即可。如果您[......]

阅读全文

Mongodb权限管理代码分析

本文主要介绍Mongodb RBAC(role based access control)权限管理机制,其核心是给每个用户赋予一定的权限,用户连接mongodb前需先验证,验证通过后即拥有用户的权限,权限决定了用户在某一组资源(如某个DB、某个特定集合)上可以执行哪些操作(比如增删改查、建索引)。

ActionType

db/auth/action_types.txt文件里包含mongo所有的[......]

阅读全文

MongoDB Replication NetworkInterface

Replication是MongoDB一套非常复杂的功能,功能包括数据同步,选举,心跳维护等。涉及到与其他MongoD进程通讯。RPC的封装相对也比较重要,作为这些功能实现的基础。

Replication相关的对象角色都被封装在ReplicationCoordinatorImpl对象中:

repl::ReplicationCoordinatorImpl* replCoord = 
    ne[......]

阅读全文

MongoDB权限验证流程–基本请求

上篇文章说到,MongoDB的网络通讯协议流程。拿到请求对象后,会调用assemblyResonse函数处理。这部分的代码实在没什么章法可言,if-else遍地,实在不怎么优雅。可以感受到随着需求的增长,很多代码都是硬套上去的。本篇介绍的是基本的处理请求,基本请求所指的是command命令以外的处理行为。

assembleResponse

首先,获取到线程绑定(ThreadLocal)Clie[......]

阅读全文

电商参考架构第四部分:推荐及个性化

在我们电商参考架构系列的前三部分中,我们主要讨论了在电商领域两个实用的MongoDB应用:产品目录和库存系统。这两个应用都是非常传统的用户案例,MongoDB在其中作为一个相对静止、直接的数据集合的记录系统。例如,在系列的第一部分中介绍了产品目录,使用MongoDB存储和检索产品和他们系列的库存。

今天,我们将介绍电商领域中一个非常不同的MongoDB应用,一个即使很熟悉MongoDB的人也[......]

阅读全文

MongoDB的网络协议

这篇文章主要来说明MongoDB的网络协议,总结性的说MongoDB通讯基于TCP之上,数据采用BSON封装。

关于TCP

TCP具有良好的拥塞控制,可靠传输等特性,比较适合数据库产品的通讯协议。一些对数据一致性,可靠性要求不高的产品也有采用UDP协议实现。如Redis,Memcached都支持UDP访问,但从实际的生产上来说,TCP来的更可靠,UDP的“不可靠”性质,反而会带来更多的运维负担[......]

阅读全文

MongoDB上海用户组线下交流会

活动内容

MongoDB线下用户组是由全世界MongoDB爱好者发起的不定期线下交流活动。目前全球有100多个MongoDB用户组,3万5千多爱好者参与。用户组活动的形式通常会有一到两个MongoDB相关的技术分享。分享会后有足够的时间让大家互相结识交流经验。

活动时间:2015.9.19 14:00 - 17:30
活动地点:上海市浦东新区碧波路888号畅星大厦2号楼2层(张江高科地铁站)[......]

阅读全文

电商参考架构第三部分:查询优化及扩展

在本系列电商参考架构的第一部分中,我们讨论了如何使用MongoDB作为一个大型产品目录的数据持久层。在第二部分中,我们介绍了库存系统的模式及数据模型。今天,我们将介绍如何查询和更新库存以及如何扩展系统。

库存更新及聚合

一个好的库存系统不应该只是一个检索静态数据的记录系统。我们还需要能够在库存上执行一些操作,包括当库存变化时对数据记录的修改以及为获得产品目前可用库存及库存地点完整视图而[......]

阅读全文

片键 – 搭建MongoDB分片集群之关键

MongoDB至关重要的特色之一就是其内置的分片功能。这一功能允许你在多个普通的商用服务器之间分担你的数据量以及数据库工作负载。

尽管分片是MongoDB的内置功能,你仍然需要弄清楚很多事情以保证成功的安装。最需要技巧的地方之一就是选择一个好的片键。

为什么选择一个好的片键如此棘手和重要呢?下面有一系列的原因:

  • 如果您选择了一个错误的片键,有可能会完全损害集群的性能。
  • 对集[......]

阅读全文

MongoDB干货系列2-MongoDB执行计划分析详解(3)

写在之前的话

作为近年最为火热的文档型数据库,MongoDB受到了越来越多人的关注,但是由于国内的MongoDB相关技术分享屈指可数,不少朋友向我抱怨无从下手。

《MongoDB干货系列》将从实际应用的角度来进行MongoDB的一些列干货的分享,将覆盖调优,troubleshooting等方面,希望能对大家带来帮助。

如果希望了解更多MongoDB基础的信息,还请大家Google下。

要保[......]

阅读全文