MongoDB最新版本释出 支援高阶分散式事务处理
MongoDB在其开发者大会中释出了最新版本MongoDB 4.2,其中重要的功能包括分散式事务,以及客户端字段层级加密。另外,MongoDB的数据库即服务也推出资料湖以及全文搜寻功能,并且与GCP深度整合。

MongoDB 4.2基于4.0所提供的多档案ACID事务功能,构建更高阶的分散式事务处理,这将允许事务在维持原生性的同时,跨MongoDB Atlas全球丛集工作,或是跨多个区域的大型分片部署操作,而当有事务在分片上提交失败的时候,所有分片上相关的事务也都会终止。
使用者可以使用跟过去相同的关系型事务语法进行查询,无须改变就能直接在扩充套件的丛集中使用,MongoDB首席技术官Eliot Horowitz提到,MongoDB现在已经能支援大多数可预期的使用案例,从最基本的档案层级ACID保证,到现在能够支援全球分散式云端服务的事务。
新版MongoDB也加强了安全功能,MongoDB目前提供了一系列安全功能,包括端到端加密以及高精细度的角色访问控制等,但为了符合新的安全法规,要求数据库必须更安全地进行资料操作,数据库储存的加密资料,数据库本身必须无法读取,这些资料要在客户端才能进行解密。
为此,MongoDB 4.2现在提供客户端字段层级加密,服务器无法获得加密的机密金钥资讯,所有加解密都是在驱动程式层级完成。当驱动程式收到写入或是查询命令包含加密字段时,会从金钥管理器中取得对应的金钥,加密资料才传送给服务器。而当服务器回传结果,也是由已经持有金钥的驱动程式负责解密。

MongoDB解释,金钥储存在数据库之外,可以将金钥与单笔记录或是使用者系结,这带来删除使用者加密讯息的便利性,只要删除金钥管理系统中的相关金钥,就能有效删除使用该金钥加密的所有资料,而这也回过头来提升了MongoDB Atlas等托管服务的安全性,因为资料不可能会在日志、内存或是基础架构等其他地方,以未加密的方式存在。
另外,MongoDB开发者大会中的另一个亮点,便是推出新服务MongoDB Atlas资料湖。Atlas资料湖让使用者可以使用MongoDB的查询语言读取AWS S3服务中的JSON、BSON、CSV、TSV、Avro以及Parquet格式的资料。MongoDB提到,这些资料按需分析,不需要设定基础设施,也不需要进行花费额外的时间进行转换、预处理或是元资料的管理。

使用者只需要将MongoDB Atlas资料湖服务指向S3就可以开始使用了,而且能够使用和MongoDB Atlas操作丛集相同的使用者界面进行各项配置,Eliot Horowitz表示,在背后MongoDB Atlas使用了多个节点平性处理资料查询,每个节点处理完各自的资料后,交由中央节点聚合、过滤或是排序等工作。未来这项功能还会支援Google与Azure的云端储存。