MongoDB中的change stream

3.6版中的新功能。
change stream允许应用容易地获取实时的数据流变化,并且没有跟踪日志的风险。应用可以使用change stream来订阅一个集合上的所有数据变化,并且立刻进行响应。

打开一个change stream

我们可以在一个复制集或分片集群中打开一个change stream。对于一个分片集群,我们必须在mongos上发送打开

继续阅读

MongoDB的 TTL 索引

TTL索引是特殊的单字段索引,MongoDB可以用来在一定时间之后或者在一个特定的时钟时间自动删除集合中的文档。对于特定类型的信息(例如机器生成的行为数据、日志以及会话信息,只需要将信息存储在数据库中一定时间)而言,数据过期是非常有效的。

可以使用db.collection.createIndex()方法和expireAfterSeconds方法来在某个字段(字段值为date或包含date值的数组上)创建TTL索引。

例如,如果想要在eventlog集合上的

继续阅读

【译】MongoDB中的术语(三)

平安夜快乐~这一周终于把MongoDB中的术语这一个系列翻译完了。原文在MongoDB的官方文档。如果希望看到之前的翻译,可以直接跳到最后,点击相关链接。下周重新开始 [paper 阅读] 模块~

ppps: 这周完成转正流程了,还是挺感慨的。等到正式转正那一周再来写些碎碎念吧。特别特别感谢常老师和遇到的所有领导及同事们~~~接下来也要继续努力啦!

  • ObjectId:一个特殊的12位BSON类型,保证集合内的唯一性。ObjectId是基于时间戳、机器ID、进程ID以及本地进程自增长数生成的数。MongoDB使用ObjectId值作为_id字段的默认值。

继续阅读

【译】MongoDB 中的术语(二)

  • idempotent:幂等的,一个给定相同输入生成相同结果的操作的质量,无论运行一次还是运行多次。
  • index:一个优化查询的数据结构。
  • init script:一个简单的shell脚本,一般保存在/etc/rc.d或者/etc/init.d目录下,用于系统初始化进程启动、重启或者停止后台进程。
  • initial sync:从一个现有的复制集成员中将数据复制到新复制集成员的复制集操作。
  • intent lock

继续阅读