月度归档:2019年05月

使用模式构建:总结

现在到了我们总结使用模式构建系列的时候,这是一个很好的机会回顾一下这个系列涵盖的模式所解决的问题,并着重复习每个模式所具有的一些好处以及做出的权衡。关于模式设计,最常见的问题是“我正在设计一个要做某某事情的应用程序,如何对数据建模?”正如我们希望你在学习本系列过程中可以体会到的那样,要回答这个问题,[......]

阅读全文

使用模式构建:模式版本控制模式(The Schema Versioning Pattern)

有一种说法,生命中唯一不变的东西就是变化。这同样适用于数据库模式。我们会想要获取我们曾经认为不需要的信息。或者一些新上线的服务需要包含在数据库记录中。不管变更背后的原因是什么,一段时间之后,我们不可避免地需要对应用程序中的底层模式设计进行更改。虽然这经常会在传统的表格数据库系统中带来一些挑战甚至是麻[......]

阅读全文

最常用的MongoDB命令对应的鼠标点击操作

工欲善其事必先利其器,学新技术亦然。
对于MongoDB而言,Studio 3T正是这样一件工具.这是一种MongoDB的图形化界面,用简便的上下文菜单替代了最常用的MongoDB命令,通过拖拽查询生成器、简易多格式导入和导出、以及适当的编辑(只要做一些命名工作)这些有力的特性,节省了程序员大量的时[......]

阅读全文

是什么造成了数据库的卡顿

一、背景

MongoDB 提供了非常强大的性能分析及监控的命令,诸如 mongostat、mongotop 可以让我们对数据库的运行态性能了如指掌。
然而,这次我们在性能环境上就遇到一个非常棘手的问题:

某服务接口在 1-5分钟内偶现超时导致业务失败!

在接口调用上返回超时属于前端的判断,通常[......]

阅读全文

使用模式构建:文档版本控制模式(The Document Versioning Pattern)

数据库,例如MongoDB,非常擅长查询大量数据并进行频繁更新。然而,在大多数情况下,我们只针对数据的最新状态执行查询。那如果有些场景下我们需要查询数据的以前状态呢?如果我们需要一些文档的版本控制功能怎么办?这就是我们可以使用文档版本控制模式的地方。

这个模式的关键是保持文档的版本历史记录处于可用[......]

阅读全文