MongoDB 2019 中国区用户大会参会记录
本次会议举办的很用心,演讲主题十分丰富,涵盖了Mongodb的新版本特性,数据库安全,用户案例,能满足各种不同岗位听众的需求,接下来就分享一下参会的一些内容和感悟
Mongodb 4.0版本新特性
当前Mongodb的官网版本是4.0,下一个大版本是4.2(还未推出),4.0版本相较于3.6版本性能有了一定的提升,并提供了一些有意思的新特性。
- 提供了多文档事务,在4.0版本中,提供了复制集的多文档事务,而在将要推出的4.2版本中,将会提供分布式事务,即在原有的复制集多文档事务的基础上,还会提供分片上的事务。当使用分布式事务以后,可以跨多个集合,数据库,文档和分片使用事务。
- 针对聚合数据操作比较复杂,Mongodb官方提供了一个官方的GUI连接工具,叫Mongodb compass ,直观地浏览数据。可以进行查询。 使用完整的CRUD功能与数据进行交互。并且能够直观的对集合中的数据进行分析,对数据分布 和索引使用情况进行分析,可以使开发人员更直观的分析数据。该工具基本可以满足日常开发使用,但是比较新颖的数据质量分析功能,在别的mongodb gui工具中没有看到过,也是Mongodb compass的一大亮点,该工具提供社区版 和商业版,商业版功能更加丰富,下图就是商业版 和 社区版功能特性对比
在会场,Mongodb的官方人员展示了该工具中的聚合功能,可以将复杂的聚合管道流操作简单化,然开发人员可以观察到每一步的管道操作结果,降低编写代码的难度,
下图中画框部分是一些数据分析功能,比如该图中就是某个集合每个字段取值的分布情况
Mongodb Atlas 云数据库
Atlas 由 MongoDB 官方开发团队来负责设计及运营。内置久经验证的运维和安全最佳实践,可自动执行耗时的管理任务,例如基础架构配置、数据库设置,从而确保高可用性、全球分发及备份等。利用简便易用的控制面板和 API,您可以将更多时间用于构建应用程序,减少管理数据库的时间。
由Mongodb 官方提供的云数据库,用户可以选择在AWS、Azure、Google Cloud Platform三种平台上建立云数据服务器,在大会上Mongodb官方人员通过控制面板上的简单操作,完成了在不同物理位置之间节点的数据迁移功能。(比如将数据从东京节点迁移到孟买节点,以保证南亚用户的使用体验)
Mongodb Stitch
这个工具是本次大会的一个亮点,让人眼前一亮的感觉。Stitch是一个能够让程序员迅速开发应用的工具,实现的是一种无需服务器的后台概念。在传统应用中,无论是前端网页还是手机应用都需要访问后端的应用,然后后台服务器再去请求数据库,而Stitch则是要跨过中间这一个步骤,通过在前端页面引入sdk,让前端页面直接去访问后端的数据库。当前sdk支持的语言有 JS/IOS/Android。但是通过查询发现,Stitch是需要配合Mongodb Atlas配套使用的
Stitch的几个亮点:
- Stitch QueryAnywhere:即直接可以从前台访问Mongodb文档数据,为了解决数据访问安全问题,可以在Stitch引擎中定义安全访问规则,即让不同的人有不同的数据访问权限。
- Stitch Functions:可以在Stitch引擎中用JS写一些函数,实现业务逻辑,大概和存储过程概念类似
- Stitch Triggers:实现类似传统数据库中的触发器概念,这个功能很有意义,一旦数据库中某些数据发生变化,就可以通过触发器,触发通知机制,发生一定的业务逻辑
- Stitch Mobile Sync (Beta):可以与mongodb mobile移动版进行数据同步,属于移动端的功能
Change Stream 增强实时应用功能
用户可以监听集合上某些感兴趣的事件,当事件发生的时候,会通知应用,并执行预先设置的业务逻辑,底层是通过监听oplog日志来实现该功能。可能的应用场景,飞机场飞机延误,当更新飞机延误表集合时,会触发事件,给客户发送短信通知
由于底层依赖于oplog日志,所以oplog一旦出现问题,那么就会导致change Stream失效