MongoDB在其開發者大會中發布了最新版本MongoDB 4.2,其中重要的功能包括分散式交易(Distributed Transactions)以及客戶端欄位層級加密(Client Side Field Level Encryption),另外,MongoDB的資料庫即服務也推出資料湖(Data Lake)以及全文搜尋功能,並且與GCP深度整合。

MongoDB 4.2基於4.0所提供的多文件(Multi-Document)ACID交易功能,建構更進階的分散式交易,這將允許交易在維持原子性的同時,跨MongoDB Atlas全球叢集工作,或是跨多個區域的大型分片部署操作,而當有交易在分片上提交失敗的時候,所有分片上相關的交易也都會終止。

用戶可以使用跟過去相同的關聯式交易語法進行查詢,無須改變就能直接在擴展的叢集中使用,MongoDB 技術長Eliot Horowitz提到,MongoDB現在已經能支援大多數可預期的使用案例,從最基本的文件層級ACID保證,到現在能夠支援全球分散式雲端服務的交易。

新版MongoDB也加強了安全功能,MongoDB目前提供了一系列安全功能,包括端到端加密以及高精細度的角色存取控制等,但為了符合新的安全法規,要求資料庫必須更安全地進行資料操作,資料庫儲存的加密資料,資料庫本身必須無法讀取,這些資料要在客戶端才能進行解密。

為此,MongoDB 4.2現在提供客戶端欄位層級加密,伺服器無法獲得加密的機密金鑰資訊,所有加解密都是在驅動程式層級完成。當驅動程式收到寫入或是查詢命令包含加密欄位時,會從金鑰管理器中取得對應的金鑰,加密資料才傳送給伺服器。而當伺服器回傳結果,也是由已經持有金鑰的驅動程式負責解密。

MongoDB解釋,金鑰儲存在資料庫之外,可以將金鑰與單筆記錄或是用戶綁定,這帶來刪除用戶加密訊息的便利性,只要刪除金鑰管理系統中的相關金鑰,就能有效刪除使用該金鑰加密的所有資料,而這也回過頭來提升了MongoDB Atlas等託管服務的安全性,因為資料不可能會在日誌、記憶體或是基礎架構等其他地方,以未加密的方式存在。

另外,MongoDB開發者大會中的另一個亮點,便是推出新服務MongoDB Atlas Data Lake。Atlas Data Lake讓用戶可以使用MongoDB的查詢語言存取AWS S3服務中的JSON、BSON、CSV、TSV、Avro以及Parquet格式的資料。MongoDB提到,這些資料按需分析,不需要設置基礎設施,也不需要進行花費額外的時間進行轉換、預處理或是元資料的管理。

用戶只需要將MongoDB Atlas Data Lake服務指向S3存儲桶就可以開始使用了,而且能夠使用和MongoDB Atlas操作叢集相同的使用者介面進行各項配置,Eliot Horowitz表示,在背後MongoDB Atlas使用了多個節點平性處理資料查詢,每個節點處理完各自的資料後,交由中央節點聚合、過濾或是排序等工作。未來這項功能還會支援Google與Azure的雲端儲存。


Advertisement

更多 iThome相關內容