MongoDB 3.2 New Features
更廣泛的應用場景。 可插拔的存儲引擎策略允許我們使用一個單一的資料庫快速覆蓋更多使用者案例。
支持更多的核心應用。 MongoDB在管理、高可用性和災難恢復的關鍵領域取得了重大進步。
更多的新工具。 這些新工具讓MongoDB成為資料分析師、資料庫管理員和運維團隊日常工作流程的一部分。
主題一 更多的存儲引擎,更多的應用場景
現代應用的對資料的需求是多樣化地、時刻更新地。甚至在一個應用中也有不同形態的資料管理和訪問需求。
比如說:
敏感性資料:客戶的支付資料、個人資訊。
高性價比的存儲:10幾年的用戶業務明細。
高併發性:售票系統、旅遊網站。
低延遲性:廣告推播、訂單系統。
即時分析:監控場景、機台日誌。
根據多變的讀取&存儲需求,還提供靈活的存儲架構,其中 In-Memory (內存)、Encrypted (加密),都是 MongoDB 3.2 新的引擎,來因應更多的場景。
在此介紹 3.2新的存儲引擎
- In-Memory:通過低延遲和高可用性處理超高的輸送量
- 提供充足的吞吐及可預測的延遲,以滿足廣告技術、財務及更多領域中要求最高的應用
- 使用運行著磁片後備存儲引擎實現資料的持久性
- First production release (v3.2.6) – Apr 28, 2016
- Encrypted:加密的存儲引擎用於受監管行業中敏感性資料的端對端加密
- 減少額外加密機制的管理和性能支出
- AES-256 加密,也提供 FIPS 140-2 選項
- 秘鑰管理:通過秘鑰檔或者通過KMIP與協力廠商金鑰管理應用集成進行本地金鑰管理
- 基於WiredTiger存儲引擎
主題二 支持更多的核心應用
MongoDB 3.2 提供 “文檔(模式)驗證”,在不犧牲靈活模式下,校驗規則仍然可以動態改變而無需資料移轉。主要應用場景:多團隊合作、外部資料、開發最佳實踐。另外還改善了複製集功能,使 MongoDB 更加強大。
- Validator:通過對集合資料模型定義規則並在伺服器端進行校驗來保證集合內資料格式的一致性。
- 使用熟悉的MongoDB運算式來控制文檔結構
- 驗證是非強制的,並且可以簡化為一個單一的欄位或者每個欄位的方方面面,包括先存性、資料類型及規則運算式。
- Replica Set:
- 更短的主從切換時間,降低new Primary選舉的時間。
- Read Concern,可以用戶選擇是否要Dirty Reads (髒讀)。
- Config server 使用複製集,讓更多資料中心能將此 server 佈署在本地端,減少存取 meta 的時間。
主題三 為更多用戶類型增加的新工具
- 對於業務分析師、資料科學家:MongoDB 3.2 允許業務分析師和資料科學家從未經開發的資料資源中獲取新的洞察來支援業務。
- BI Connector (MongoDB的商務智能連接件)
- $lookup
- 新的聚合操作符 & 文本檢索改進
- 對於資料庫管理員:MongoDB 3.2 説明公司內的使用者理解您資料庫中的資料。
- MongoDB Compass
- 對於運營團隊:MongoDB 3.2 簡化和提升了MongoDB的管理平臺。運營團隊使用Ops and Cloud Manager運行MongoDB將會提高10-20倍效率。
- 與 APM 平臺集成
- 查詢性能視覺化& 優化
- 部分索引
- Ops Manager 增強功能
在此介紹 BI Connector
- BI Connector (SQL支持):使用基於SQL的BI 工具對多維度文檔進行視覺化和探索。連接件完成以下工作:
- 提供BI 工具將MongoDB集合的模式進行視覺化
- 將商務智慧工具使用的SQL語句翻譯成等同的MongoDB查詢發送給MongoDB處理
- 將結果轉換成商務智慧工具需要的表格形式,可基於用戶需求對資料進行視覺化
- 作為一個單獨的服務運行,默認埠27032。
- 將來可能會改成原生的,但是現在就是一個PostgreSQL 伺服器。
在此介紹 $lookup
- $lookup:在資料建模中,使用 Left Outer Join 從多個集合中組合資料以獲得更豐富的分析&更大的靈活性。
- 從多個資料集合中混合資料用於分析
- 使用更少的應用方代碼及開發者更少的精力來獲取更高的性能分析
- 通過執行新的$lookup操作符,MongoDB聚合框架管道中的一個階段
- 限制:
- 首次提供類似SQL JOIN的功能, 性能表現尚需觀察
只能在聚合運算裡使用 - 只支持欄位值相等比較
- 被JOIN的表不能為分片的表
- 首次提供類似SQL JOIN的功能, 性能表現尚需觀察
在此介紹 新的聚合操作符 & 文本檢索改進
- 改進的資料庫內分析&檢索:新的聚合操作符擴展了執行分析的選項,保證了以更低的開發者複雜度,更快速簡單地傳遞結果
- 集合操作符: $slice, $arrayElemAt, $concatArrays, $filter, $min, $max, $avg, $sum,及更多
- 新的數學操作符:$stdDevSamp, $stdDevPop, $sqrt, $abs, $trunc, $ceil, $floor, $log, $pow, $exp, 及更多
- 文檔隨機採樣:$sample
- 大小寫敏感的文本檢索和其它語言(例如阿拉伯語、波斯語、中文及更多)的支持
在此介紹 Compass
- Compass:對於負責維護生產中資料庫的資料庫管理員,不需要對 MongoDB 查詢語言的瞭解,用於快速的模式發現及ad-hoc查詢的視覺化構建。
- 視覺化模式
- 欄位的頻率
- 類型的頻率
- 確定驗證規則
- 查看文檔
- 圖表化構建查詢
- 授權訪問
- 視覺化模式
在此介紹 與 APM 平臺集成
- 架構的全域視圖:與應用性能監控平臺進行集成,容易地將MongoDB性能指標與您現有的APM儀錶盤整合,以獲取完整IT棧的全域監管。
- 使用新的API,將查詢性能指標暴露給APM工具,以增強MongoDB驅動程式。
- 與Cloud Manager打包集成,對伺服器指標進行視覺化。
- 與Ops and Cloud Manager深度結合,為常見的操作任務提供豐富的資料庫監控、工具。
- New Relic 公司 Blog: Announcing the New Relic Integration With MongoDB Cloud and Ops Manager (下圖來自 New Relic)
在此介紹 查詢性能視覺化&優化
- Ops/Cloud Manager:使用新的視覺化查詢分析器實現快速簡單的查詢優化。
- 查詢和寫入延遲都會進行整合,並且視覺化地展示出來。您的運營團隊可以容易地識別出慢查詢和延遲峰值。
- 視覺化查詢分析器分析其展示的資料,並且為創建新索引提供建議,以提高查詢性能。
- Ops Manager及Cloud Manager可以自動化新索引的生成,降低風險和團隊的運營成本
在此介紹 部分索引
- Partial Index:在節省資源和優化查詢性能之間,取得更佳的平衡。
- 在索引創建階段指定一個過濾運算式以保證MongoDB只包括滿足您需求條件的文檔。
- 下邊的示例創建了一個複合索引,只對那些rating 欄位大於5的文檔進行索引。
在此介紹 Ops Manager 增強功能
- Ops Manager enhance:2包括了Ops Manager增強功能,以提高您運維團隊的生產效率,並且進一步簡化安裝和管理。
- 支援備份檔案存儲到普通的檔案系統。
- 自動化資料庫恢復;幾步之內從備份中恢復集群。
- 更快時間獲取第一份資料庫快照。
- 維護視窗支援。
- 集中式UI用於安裝和配置所有應用和備份元件。
原文出處:Webinar What’s New in MongoDB 3.2.pptx (簡體版 – TJ )