数字化转型方略 第8期 2020/07/15

MongoDB Cloud来了

文/邹大斌
MongoDB日前发布了新的云品牌——MongoDB Cloud,该品牌旗下除了MongoDB云版本Atlas之外还包括Atlas Data Lake和移动端数据库Realm。

每年6月是MongoDB举办技术大会的日子,这是MongoDB一年一度最大的活动,MongoDB重大技术的发布和未来产品路线也会在这次大会上发布,因此,是观察MongoDB未来发展的最好机会。今年因为新冠肺炎疫情的原因,会议改成了线上,大会名称变成了MongoDB.Live 2020,但是,大会承载的使命没变。会上不仅发布了新的品牌——MongoDB Cloud,还有众多重要发布,包括Atlas众多新的功能(Atlas Search、Atlas Data Lake、Atlas Online Archive)、MongoDB Realm、MongoDB Charts、MongoDB Shell等,会上MongoDB的最新版本的MongoDB 4.4(beta版)也正式亮相。

释放数据潜能

MongoDB是数据库行业的后起之秀,但成长非常迅速,已经持续多年与Oracle、MySQL、SQL Server、PostgreSQL一起位列全球五大最流行的数据库,其影响力已经超过传统数据库DB2。

在大会上,MongoDB 总裁兼首席执行官 Dev Ittycheria透露了MongoDB公司的一些成长数据。截至目前,MongoDB 社区版已下载超过 1 亿次,在全球 100 多个国家及地区中拥有超过 1.8万家各种规模的企业客户。根据Stack Overflow 在全球范围内进行的开发人员调查表明,连续 4 年MongoDB 被开发人员评为全球范围内最受开发人员青睐的数据库。

“MongoDB 以释放数据潜能为使命,我们致力于解决开发人员的数据问题。”Dev Ittycheria在演讲时表示。

MongoDB 总裁兼首席执行官 Dev Ittycheria

的确,由于 MongoDB 独特的文档模型和查询语言使数据处理变得如此容易,很快拥有了一个热爱 MongoDB 的庞大开发人员社区。当时传统数据库已经非常不适用于新型应用程序,因为这些程序常常需要处理来自不同来源的多种格式的大量数据,还要适应竞争日益激烈的市场。而传统的关系型数据库不灵活、无法水平扩展,从而使其开发缓慢且维护成本高昂。

MongoDB首席产品官Sahir Azam说,作为一种新的开源通用数据库,MongoDB有三大核心技术优势:

首先,是其文档模型。文档模型使数据处理变得容易,因为它具有灵活性,适用于广泛的用例,并很好地映射了开发人员在现代的、面向对象的编程语言中的工作方式。

第二,分布式系统。水平扩展、冗余和工作负载隔离是现代数据库的基本要求,因此分布式架构十分必要的。

第三,可以在任何地方运行。基于MongoDB可以开始在笔记本电脑上进行开发,在公司数据中心中运行它,或者在公共云中对其进行管理。

“当然,传统数据库确实提供了对关键任务应用程序至关重要的功能,但我们已经将诸如传统数据库的这些关键功能,如事务、二级索引、聚合功能以及安全性和管理功能等整合到 MongoDB。” Sahir Azam说,这些功能的组合使得 MongoDB 具备以任何规模支持任何应用程序的强大实力。这就是MongoDB 现在背后全球数百万开发人员和成千上万企业青睐的原因。

从Altas到MongoDB Cloud

云数据库已经大势所趋。Gartne此前发布的研究报告《The Future of the Database Management System (DBMS) Market Is Cloud》认为,数据库创新的主战场已经从传统的本地市场转到了云上,数据库云服务是大趋势,将数据库安装在企业数据中心的服务器上已经或者很快将成为一种“过时”的方法。

MongoDB对此也早有准备,于2016推出了Atlas——这是MongoDB的云版本,由MongoDB来运营。Atlas自年推出以来取得了长足发展,目前已经落户AWS、微软Azure、谷歌GCP,并成为MongoDB的主要收入来源,在2021财年第一季度营收中占比42%。

不过,MongoDB对云市场有更大的期待。在本次大会上MongoDB推出了全新的云品牌MongoDB Cloud,旗下有三个产品,包括Atlas、Atlas Data Lake和Ream。

MongoDB首席产品官Sahir Azam

Atlas毫无疑问是MongoDB Cloud品牌下最核心的产品。MongoDB一直在不断打造和丰富Atlas的功能集。本次大会上展示了Atlas很多新的功能,比如自动扩展、Schema建议等。其中,Atlas的自动扩展功能可以根据工作负载实时、自动进行计算能力和存储能力的扩容,其最直接的受益是节省费用;而Schema建议功能则可以对数据模型的建模提供建议,有助于性能优化,目前这两个功能目前都已正式上线。另外,Atlas Search也正式上线。Atlas Search具有类似Google搜索类似的全文本搜索功能,同时其还能够统一对Atlas、AWS S3进行查询,从而简化查询和搜索工作。

MongoDB Cloud之下的另一个重磅产品是Atlas Data Lake,这个去年发布了Beta版,如今已经正式上线。Atlas Data Lake允许用户使用MongoDB查询语言查询存储在AWS S3中的数据。这为用户提供了更多存储和查询数据的灵活性。MongoDB还加强了Atlas Data Lake与Atlas、AWS S3之间的集成,实现了Atlas Data lake的在线归档( Atlas Online Archive),也就是说,用户可以进行设置,让一部分冷数据自动存储到AWS S3中。

Atlas中部分新增的功能

MongoDB Cloud旗下的第三个重磅产品是Realm,它来自于去年收购的嵌入式数据库公司Realm。Realm主要运行在移动设备,如今Realm可以自动实现Realm中的数据同步并将其从移动设备备份到MongoDB Cloud中,这想必是此次Realm被纳入MongoDB Cloud中的一个重要原因。对于开发人员来说,这种同步能力让它们可以更轻松地在移动设备上处理数据,并且使数据在后端的MongoDB数据库中可见。

MongoDB 4.4 beta版亮相

今年MongoDB.live 2020大会上另一个重要发布是MongoDB 4.4 beta版,这也是很多开发人员非常关注的。MongoDB 4.4中的确推出一些新功能,包括片键可修改、增强的集合功能、Hedged read功能等,无论是在MongoDB数据库(私有云)或Atlas(公共云)都将从新版MongoDB中受益。

MongoDB 4.4中新增的部分功能

分片是MongoDB集群中分配数据的常用方法,这样可以确保各个分片上的负载分布更加均匀。从MongoDB 4.2开始可以对分片的片键值进行修改,修改后MongoDB会自动根据新的片键值将文档移动新的片上,从而大大提高了效率。在MongoDB 4.4中又进了一步,现在可以修改片键,也就是重新定义片键,从而可以更灵活地控制如何在MongoDB集群上组织数据。比如,刚开始你可能采用比较粗粒度的分片,后来可以修改片键来调整分配,MongoDB数据库将根据新的片键自动重新分配数据存储位置。

MongoDB 4.4还将拥有更强大的集合功能。MongoDB 4.4新增了Union 操作,它可以把多个数据集的数据汇集到一起,从而可以进行更多探索和查询工作。通过Union,把数据的汇集工作放到了MongoDB中,否则都要编码通过应用程序来完成了,也可以减少对数据进行ETL的需求。

MongoDB 4.4中还新增了Hedged read功能,即数据库会把查询需求同时发给多个复制集,并从响应最快的节点返回结果从而最大程度地减少延迟,这样可以改善用户体验。这个功能背后的考虑是:数据库默认状态是一致性优先,也就是要返回最新的数据,不过,有些时候如果返回的数据不是最新的也关系不大而是更希望能尽快得到结果,这就是Hedged read的价值。

除了上述重要发布和更新之外,在MongoDB.Live 2020大会上还发布了一些新的或者增强的MongoDB工具,包括MongoDB Chart、MongoDB Shell、MongoDB CLI。其中,新的MongoDB Chart中添加了仪表板筛选以及可嵌入的SDK,可直接应用程序集成。作为连接到MongoDB数据库进行查询和管理集群的最常用工具,新的MongoDB Shell通过自动完成功能提高了效率,并通过语法高亮显示提高了可读性。特别是在遇到问题时,新的Shell更容易追踪问题。全新的MongoDB CLI是一个采用命令行对Atlas的部署进行操作的操作界面,借助它还可以在Ops Manager或Cloud Manager中管理Atlas环境和在自托管群集之间轻松切换。

安全也是本次大会的一个重要内容。从MongoDB 4.2开始其新增了客户端字段级加密的功能,目前这个功能已普遍可用,现在MongoDB再不断增加新的驱动,包括Javascript、Node.js、Python、Go等。

HashiCorp Vault是一个用于存储和控制对应用程序中所有服务的敏感信息(例如密码、证书和加密密钥)的系统,MongoDB为HashiCorp Vault构建了MongoDB Atlas密钥引擎,利用Atlas密钥引擎可以轻松管理和控制数据库用户的访问。

另外,大会上还宣布Atlas已经可以支持AWS IAM数据库身份验证。现在,用户可以使用IAM允许应用程序、容器和无服务器函数使用临时AWS IAM凭据向Atlas集群进行身份验证,就像您的应用程序向其他AWS服务进行身份验证一样。

写在最后

作为MongoDB一年一度的技术盛会,MongoDB.live 2020大会内容非常丰富,内容远不止上述这些。应该说,为了简化和方便开发人员对数据的利用,最大程度地释放数据的潜能,MongoDB做了大量工作,并还将持续下去。正如MongoDB首席产品官Sahir Azam在其主题演讲中所说:

“我们所做的每一件事都源于我们希望开发人员能摆脱数据处理的麻烦,让开发人员可以专注于真正重要的事情。我们希望大家知道MongoDB是现代的通用数据平台,让您为未来构建的数据平台。”

本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码

《数字化转型方略》杂志