admin 管理员组

文章数量: 887032

抢先看

今天刚参加完「2018年 mongoDB 上海峰会」现场,对比同类我参加过的活动,包括付费1500的技术峰会等,mongoDB的免费社区大会每一次给到的惊喜都不亚于付费活动,很欣慰。这都归功于我们上海分会的志愿者们。

我说过,在这里不止能够学到Python,接下来就让我带着大家一起来回顾一下,本次「mongoDB 上海峰会」现场所带来的干货。

先来看下今天的日常安排:

可以看到一天的安排是非常满当的,而事实是由于中间某几个环节的异常活跃,导致最后大会与晚上6点后才开始结束。

mongoDB 4.0 的新特性

mongoDB 4.0 的新特性是我非常关注的,除了官方放出的消息外,还想看看能从林总嘴里爆出什么料来。

  • 首先就是mongoDB作为一个非关系型数据库,竟然光明正大的支持事务了!这意味着什么?mongoDB的股票要涨啦!

    事务的支持一直是开发者关心的问题。事实却是,如果没有事务,想要让mongoDB撼动金融界的老大Oracle是很难的。虽然mongoDB早有解决方案(改变文档设计,将事务事件转化为单条文档),但是对于开发者来说确实存在一些开发学习成本。不符合mongoDB本身的精神(为了开发者而生的数据库)。

    具体的使用我不在这里做过多的描述,官方文档已经上线,写法也很简单。

  • 集成k8s!

    做DevOps的都知道,Docker技术日趋成熟,很多企业已经开始自研k8s结合其他标准容器模版来构建自己的生态。而 mongoDB 集成k8s无疑是在大环境下的一个布局。

  • mongoDB Charts 也是一个不错的产品,市面上BI工具中占有比例最高的当属Tableau,然而并不支持 mongoDB,或者说支持的不够好。mongoDB Charts就是这么一款专为BI打造的量身工具。

其他的新特性在这里就不一一举例了,如果以上内容让有了初恋的感觉,可以前往官方网站进行更多详情了解。

mongoDB最佳实践

国泰君安的架构师给我们分享的是在他们的中台系统中mongoDB所扮演的角色。

除了对于自身系统的一番介绍外,还对mongoDB的一些注意事项进行了说明,将现实生产中遇到的坑都分享给了我们:

  • C mongoDB 驱动 1.1 会有突然的延迟,需要更新驱动至1.5。

  • mongoDB认证后的连接字符串对于复杂密码的处理需要格外注意。

  • 副本集的使用中,对于索引的更新,需要注意放在后台或者将从节点下架为单一节点,创建完毕后再重新加入副本集中。

mongoDB Aggregation

Teambition的工程师带来了实践中的mongoDB Aggregation技巧及注意事项,内容更偏向于开发,所以我不做单独的代码演示了。

魔都买房

午休过后,就来到了紧张刺激的「魔都买房秀」!本以为是一场技术分享好房的架构或者实践,没想到请来的是真Boss!内容就是纯纯的教你怎么买房!

语速真的惊人,不夸张的说,1个半小时说了3万个字!关键是段子够味,内容够干!我把金老师说的点都记下来了,事后做了一个笔记补充,并且和好房的专家组进行了沟通。

明天或者后天我会抽时间把这篇「如何在魔都买好房,祝好房」分享在星球里面,也作为对星球投资的一种福利吧。上个我做的笔记。

mongoDB在推荐系统中的应用

之后带来的就是平安好房的推荐系统,这个东西我比较感兴趣的。我觉得直接上图对于程序猿来说更直观一点。

整个架构其实很大,每一块都能单独拎出来讲,我们来过一下。

  • Flume用于日志采集,所以之后用到了Kafka和Storm作日志收集、分发,同样我们也可以用ELK全家桶,而我更偏向ELK。

  • 下面是mongoDB+MySQL+Solr的一个数据存储+搜索引擎的架构,但仔细想一下,如果之前的Flume换成了ELK,那是不是这里的Solr也可以省了呢?

  • 往上走就是Cache层,这里的做法还是比较普世的,用Redis,没什么好说的。

整体给我的感受就是:好房的推荐系统还是比较解偶的,每一个模块都是可以拆分出来作为组件来复用的。

CRUD

携程的工程师给我们介绍了在订票系统中mongoDB的最佳实践和操作。总体上来说偏实操,可能看文档,自己去实践下就都有了。

mongoDB开发应该知道的事

最后锦木的CTO给我们带来的是关于他们作为一家提供专业mongoDB服务的第三方是如何帮助客户解决实际工作中带来的问题,也分享了他们的案例。

这里我就给大家介绍一个关于mongoDB模式设计

对于一个社交媒体来说,关注和被关注是一个经常会触发的用户行为。那么在mongoDB Sharding的情况下,我们要如何才能做到走索引而不全表扫描呢?

这里采取的策略就是用空间换时间。我一式两份,关注了谁,我使用 {"from": 1, "to": 1} 作为分片键和索引;被谁关注,我使用 {"to": 1, "from": 1} 作为分片键和索引。

这样一来,业务清晰,数据明了,真正做到了分片合理化。

最后,放一个我的星球二维码,在我的星球里,你能够获得什么?

1. 「每周精选」

会总结一周来的得与失,以及热点、技术,做一个速递。

包括我付费参加的一些星球那学到的东西。

2. 「大航海计划」

由船长发起,分为多个阶段,或招募或淘汰若干名船员,每周都会在星球做一次项目汇报。目标是让球友能够在星球里找到志同道合的小伙伴一起驶向新世界。

目前这个计划首发由我担任船长,第一期船员招募已结束,第二期即将开启。

目的是通过游戏帮助python零基础船员从零开始学习python,并能够自己制作客户端,在游戏中体验编程的乐趣。而会python的也不会因为简单而弃船,因为游戏是公平的,你不可能出于绝对优势,总有人能够编写出一套强大的客户端来战胜你。


3. 现在加入,立减22元

没错,原价88元的星球,下周一前加入,都能够获得22元红包一个。

也就是说你只要66元,就能获得一个努力的圈子。

推荐阅读:

万字谏言 | 零基础转行Python,到底路在何方?

Python | Python字符串的格式化,看这一篇就够了

本文标签: 抢先看