ArangoDB 3.5发布:流事务API、蒙面数据、搜索性能大幅提升、最短路径功能
ArangoDB 3.5 發布了。ArangoDB 是一個分布式原生的多模型數據庫,具有靈活的文檔、圖形和鍵值數據模型。使用方便的 SQL 查詢語言或 JavaScript 擴展構建高性能應用程序。
此版本亮點包括:
期待已久的?Streaming Transactions API,可以直接使用不同的語言驅動運行和管理 ACID 事務(已支持 Java Sync、Go、JavaScript 和 PHP)
ArangoSearch?改進,包括可配置分析器、超快速排序索引等
擴展圖形數據庫功能,如 k-shortest 路徑和新的 PRUNE 關鍵字
Data Masking,可以安全地使用模糊的生產數據來實現真實的開發和測試環境
Time-To-Live?索引、索引提示和命名索引等更新
SmartJoins,可以針對分布式數據運行高效的共址 JOIN 操作(企業版功能)
流事務 API(Streaming Transactions API)
此版本正式引入了流事務 API(Streaming Transactions API),這是一種更簡單地使用 ACID 事務的方法,不需要編寫任何 JavaScript 代碼。使用新的流事務 API,可以直接使用喜歡的語言對 ArangoDB 進行 BEGIN、COMMIT 與 ABORT(回滾)操作,與使用 RDBMS 類似,目前官方已經支持 Java Sync、Go、JavaScript 與 PHP。事務可以包含一系列受支持的事務操作,后跟 commit 或 abort 命令。這允許客戶端以比基于 JavaScript 的事務更有效的方式構建更大的事務。
事務可以有許多配置選項,對于調用事務,可以定義以下內容:
collections:任何寫操作都需要的事務的集合
waitForSync:一個可選的 Boolean 標志,用于強制事務在返回之前寫入磁盤
allowImplicit:允許事務從未聲明的集合中讀取
lockTimeout:允許指定事務完成的最長時間(默認為 10 分鐘)
maxTransactionSize:如果使用 RocksDB 作為存儲引擎(自 ArangoDB 3.4 以來的默認引擎),可以以字節為單位定義事務的最大大小
搜索引擎升級:可配置分析器和超快速排序查詢
可配置分析器允許執行區分大小寫的搜索、詞干分析,并允許使用自己的語言特定的禁用詞列表。同時還可以更好地調整 ArangoSearch 查詢,包括英語、法語、德語與中文等多種語言。
新的排序索引,包括排序的查詢有大幅性能提升。在為 ArangoSearch 創建視圖時,現在可以指定創建此新索引并定義哪種排序順序最適合查詢要求(升序/降序)。如果查詢中的排序順序與視圖中指定的排序順序匹配,則可以直接從索引中讀取結果并以超快的速度返回結果。內部基準測試表明,這些情況下性能提升高達 1500 倍。
創建排序視圖可以通過`arangosh`完成:
db._createView('myView', 'arangosearch', { links : { ... }, primarySort: [ { field: 'myField', direction: 'asc' }, { field: 'anotherField', direction: 'desc' } ] })
db._query('FOR d in myView SEARCH ... SORT d.myField ASC RETURN d`); // no sorting at query time
圖形數據庫升級:k-shortest 路徑和新的 PRUNE 關鍵字
新的 k-shortest 路徑功能提供查詢兩個給定頂點之間的所有最短路徑的選項,根據路徑長度或路徑權重返回排序結果。
在上圖的歐洲鐵路的例子中,可以查詢倫敦和格拉斯哥之間旅行的最短距離、最少??炕蜃畋阋说钠眱r,具體取決于在邊緣存儲的信息。還可以想象一下將 k-shortest 路徑功能運用到網絡管理與威脅情報等方面。
新的 PRUNE 關鍵字是 AQL 圖遍歷查詢中 FILTER 的替代方法,使用 PRUNE 允許用戶減少遍歷查詢必須查找的文檔數量。PRUNE 在圖遍歷中表現為停止條件,告訴遍歷在滿足給定條件時停止并返回完整結果路徑。
數據遮掩(Data Masking):適用于 GDPR 和 CCPA 兼容的測試和開發
在生產環境中測試新版本或新功能是很有必要的,但是,將用戶名稱、生日、電子郵件地址或信用卡信息等敏感數據從高度安全的生產系統導出到安全性很低的測試和開發環境,通常是不可能的,或者會導致 GDPR/CCPA(歐盟《一般數據保護條例》/《加利福尼亞州消費者隱私保護法案》)合規性問題。
ArangoDB 中新的 Data Masking 功能允許定義要進行模糊處理的敏感數據,然后生成這些集合的“掩數據”,導出以用于測試或開發目的。
此外,快速一致的集群備份功能將在下個版本 3.5.1 中出現。
更具體的更新內容查看「閱讀原文」。
總結
以上是生活随笔為你收集整理的ArangoDB 3.5发布:流事务API、蒙面数据、搜索性能大幅提升、最短路径功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 番茄日志发布1.0.3版本-增加Kafk
- 下一篇: 【学习笔记】Docker - 02. 在