β

2017 · MongoDB深圳用户组大会全记录

MongoDB中文社区 92 阅读

4月22日,阴雨绵绵的深圳迎来了2017年MongoDB深圳用户组线下活动。糟糕的天气阻挡不了mongoer们的热情,坐标深圳和广州的mongoer们都早早地来到了活动现场——腾讯大厦。接下来,让我们赶紧来了解一下各个MongoDB大牛们的精彩分享吧。

277777208

1190538167

首先,MongoDB大中华区高级架构师TJ为大家致了开幕词,为大家介绍了MongoDB中文社区的发展情况以及之后的活动规划等。
mug-1
mug-2


演讲嘉宾 :腾讯云 孔德雨
演讲主题 :MongoRocks优化与实践

首先,德雨给我们简要介绍了MongoRocks:MongoRocks是使用RocksDB作为存储引擎的MongoDB服务,它在SSD盘上表现优秀,为SSD盘进行了专门的优化,适用于TB级的KV存储业务。MongoDB 3.0 版本之后就提供了可插拔存储引擎接口的特性,除了官方提供的WiredTiger和Mmap之后,腾讯云目前还支持Rocks作为存储引擎。
RocksDB的原理是基于LSM(Log Structured Merge Trees),可以查阅 资料 了解更多原理。它将随机写转化为顺序写,提高了SSD的使用寿命;此外Rocks的高空间利用率也为节省SSD成本提供了可能。而在事务性方面,

此外,后台线程标记删除最老的oplog以保证 local.oplog.rs 的稳定大小。然而,MongoRocks默认只有一个ColumnFamily,所有库表都放在同一个CF中,使用前缀编号来区分数据属于哪个库的哪张表。

腾讯云还对MongoRocks做了一些改进:

最后,德雨还举例了腾讯内部MongoDB的使用场景以及腾讯云上的MongoDB介绍,内部场景使用架构如下图所示。更多演讲内容欢迎下载 PPT 了解更多细节。
tecent-arch


演讲嘉宾 :MongoDB大中华区高级咨询顾问 张耀星
演讲主题 :MongoDB应用从设计到实现

首先,耀星介绍了MongoDB的一些基本哲学,主要包括:MongoDB是什么,NoSQL和SQL的区别等,并且介绍了MongoDB的使用场景:

接着,耀星还介绍了使用MongoDB之后软件生命周期的简化。具体说来,在软件设计的阶段,我们需要根据读写模式而不是范式设计数据模型,了解常见的数据结构对应的模式。此外,我们应该要转化思想:数据是应用的一部分,随应用一起迭代。

最后,耀星还以一个实际应用来介绍了不同数据库方案的优劣势:选择一个数据库存储应用程序日志。最后得到结论:没有最好的方案,只有最合理的方案。更多演讲细节欢迎大家下载 PPT 进行了解。


演讲嘉宾 :一面网络 CTO 张锦杰
演讲主题 :MongoDB在大规模数据获取和准实时分析中的应用

首先,锦杰回顾了一下从知识到发现的整个过程,简要介绍了一面网络在电商数据采集方面沉淀的数据规模。为了将商品信息、社交评论、新闻媒体以及用户媒体信息通过分析引擎将数据应用到具体的业务中,一面网络设计了完备的技术栈体系,包括数据存储层、数据处理层以及数据应用层等。大致框架图如下所示:

yimian
接着,锦杰具体介绍了技术栈中MongoDB所发挥的作用,关键点在于如何有效地利用资源构建MongoDB分片集群,存储海量信息。MongoDB的分片集群重点在于如何选择合适的片键,需要考虑特异性、并行写入能力以及查询隔离等方面。在这样的背景下,公司采用了组合分区键。一面网络使用MongoDB打造的第二个产品Single View,来自于客户的很多痛点。当然,在数据库的选择方面,公司也不是一帆风顺的,经历了从MySQL到MongoDB到Cassandra,最后再回到MongoDB的过程。他详细介绍了MongoDB和Cassandra之间的优点和缺点,和各自的适用场景。

最后,锦杰展示了数据分析产品为用户提供的价值:通过用户评论改善产品质量、对竞争对手策略分析以及趋势监控等。更多演讲细节欢迎大家下载 PPT 进行了解。


演讲嘉宾 :考拉理财 技术负责人 邓维
演讲主题 :MongoDB在互联网金融中的应用

也许大家都很吃惊,MongoDB居然在金融领域也有应用?没错,邓维在演讲的一开始就给了我们一个肯定的回答:没错!是的,MongoDB支撑着公司大部分核心系统。事实上,MongoDB在国外已经积累了非常多著名的金融领域客户。首先,邓维给我们介绍了公司的MongoDB部署架构(生产环境3个实例+1个备份实例+1个延迟实例)以及具体的备份策略:

接着,邓维给我们介绍了公司的技术栈,并且介绍了在金融领域的一些需求:
- 应该保存变更历史—— 不允许 删除
- 安全性
- 备份
- 应该有回退操作

基于MongoDB的特性,考拉理财也制定了相应的解决方案:基于嵌入文档设计,然后在对象关系映射等级进行事务的实现。事务的实现流程如下图所示:
wade-transaction
此外,他们还使用了:可重入函数、掉单检测以及严格的模式验证等。最后,邓维表示:他相信,MongoDB事务的实现也许就在不久的将来。更多演讲细节欢迎大家下载 PPT 进行了解。


演讲嘉宾 : 贝法易集团技术部总监 黄亮
演讲主题 :MongoDB在跨境电商物流供应链系统中的实践
首先,黄亮介绍了一个跨境圈的真实故事,然后介绍了公司新老架构的演变过程。新架构中的新架构下第一个服务模块Portal架构图如下所示:
portal-archi
简要介绍了选择MongoDB的理由:

然后,黄亮特别提到了基于MongoDB开发需要注意的问题:
- 集合之间不建议使用Join,建议增加必要的冗余,减少二次查询
- 仅支持单个文档级别的事务
- 聚合查询,通过MOngoDB聚合管道方式查询

最后,黄亮详细介绍了基于MongoDB的持久化实现,着重介绍了领域模型采用POJO、一些ID生成器、多态类的Map以及一些需要了解的规定等。此外,他还介绍了MongoDB的聚合框架和一些管道操作符、管道表达式(组聚合操作符)等。最后的实践总结如下:

更多演讲细节欢迎大家下载 PPT 进行了解。


最后,特别来宾林青同学也上台给大家来了一段脱口秀,分享了自己接触MongoDB的一些经历,使用幽默、简短的语言总结了MongoDB的各种特性及使用场景,给现场观众留下了深刻印象。此外,在中场休息和最后结束之前,我们还进行了现场摇一摇抽奖活动,赠送了精致的小礼品。
1746664057
1946712826

文章的最后,给大家做个预告:下个月,中文社区将会在北京举行线下用户组活动,届时将会有来自百度、腾讯等公司的大牛给大家分享MongoDB的相关经验,更有丰富的礼品等着大家。而之后也会陆续在其它城市举办线下用户组活动,欢迎大家积极参与中文社区的活动!

嘉宾ppt下载链接:

https://pan.baidu.com/s/1c1LVFqw

活动视频:
2017深圳用户大会视频

(再次感谢IT大咖说平台)

作者:MongoDB中文社区
中文社区
原文地址:2017 · MongoDB深圳用户组大会全记录, 感谢原作者分享。

发表评论