月度归档:2019年07月

使用JMeter做MongoDB性能测试

对大多数应用环境来说,数据库是一个关键要素。如何存储数据以及在哪里存储数据,对整个系统的性能会产生巨大影响。因此,在做开发之前,数据库的选择肯定是最重要的决定之一。对数据库进行性能测试有助于你达成此项决定,这也是你在开发过程中的一项重要工作。
这篇文章会教你使用Apache JMeter™进行开源MongoDB数据库测试。[......]

阅读全文

谨防索引 seeks 的效率低下

背景

最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。
运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。
在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException

开发同学一[......]

阅读全文

MongoDB用户和角色解释系列(下)

MongoDB用户和角色解析系列(上)是否已经阅读呢?
如果没阅读可以参考这篇文章《MongoDB用户和角色解析系列(上)》

在前半部分我已经讲了很多理论。但是,我知道,如果这是您第一次处理MongoDB角色和用户问题,可能非常令人困惑。因此,让我们一步一步地通过一个示例来了解这个过程,比如当您[......]

阅读全文

【五分钟了解MongoDB 2】为何选择文档数据结构

文档数据结构是数据的自然表达。我们仅仅在70年代将数据拆分为行和列来优化数据的访问。由于当时存储和计算能力的价格高昂,耗费开发者的时间将数据减少、拆散为行和列的模式是有意义的,通过范式、相互关联等范式来减少数据的重复。这一过程有一定的成本效益,故而它主导了当时的数据库思维。

很多人都把定义行、列模[......]

阅读全文

常见问题: MongoDB 存储

  • 存储引擎基础知识
  • 你可以在副本集中混用存储引擎吗?
  • WiredTiger存储引擎
  • MMAPv1存储引擎
  • 我可以手动填充文档以防止更新期间的移动吗?
  • 数据存储诊断

该文档讲述关于MongoDB存储系统的常见问题。

存储引擎基础

什么是存储引擎?

存储引擎是数据库的一部分,负责管理如何在内存[......]

阅读全文

MongoDB 索引详解(一)

  • 默认_id 索引
  • 创建索引
  • 索引类型
  • 索引属性
  • 索引使用
  • 索引及排序规则
  • 覆盖查询
  • 交叉索引
  • 限制
  • 其他注意事项

索引支持MongoDB中查询的高效执行。如果没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。如果查询存在适当的索引,MongoDB可以[......]

阅读全文