1. 程式人生 > >湯森路透 Thomson Reuters --使用多模型數據庫ArangoDB 打造快速安全的簡潔視圖分析

湯森路透 Thomson Reuters --使用多模型數據庫ArangoDB 打造快速安全的簡潔視圖分析

廣泛 why 組合 方法 http href api 開發人員 圖片

摘要: 湯森路透為專業人士提供所需的智能,技術和人力資源,以便找到值得信賴的答案。它們使財務風險,法律,稅務會計以及媒體市場的專業人員能夠做出最重要的決定,所有這些都由世界上最值得信賴的新聞機構提供支持。 本案例由湯森路透首席開發人員Tanvir Mansuri 撰寫。

技術不斷改變企業。我們湯森路透(Thomson Reuters)一直致力於利用技術,使我們在業務過程中收集的信息更具相關性和更個性化,同時更快地向我們的客戶和員工交付信息。通過使用共享平臺並在我們的業務部門工作,我們希望使我們的數據更易於訪問和深入我們的人員,無論通過哪種渠道。

為了促進這種方法,我們希望創建一個復雜的業務分析和智能(BA / BI)平臺

,為所有湯森路透員工提供一切視圖。這是一個相當大的挑戰,因為我們必須將包含半相關數據的許多不同數據源集成到不同的結構中,以滿足多個部門和角色的各種需求。

選擇正確的數據存儲

對於數據訪問和管理,很顯然,我們需要一個快速,無模式的數據存儲來處理我們的BA / BI應用程序中越來越多的非結構化數據。我們的應用程序使用了二十多個數據源,提供了各種信息。這需要一個強大的查詢語言,能夠表達我們員工想要快速回答的廣泛問題。

一個關鍵的要求是支持即席連接,以及圖遍歷,為應用程序的不同部分使用正確的數據訪問策略,並能夠提出更多的問題。我們的選擇是開源代碼解決方案,以及一個積極響應的社區

為什麽我們選擇了ArangoDB ?

首先,ArangoDB是一個真正的開源項目,具有開發者友好的Apache 2 許可證。另外,其背後的團隊非常友好且透明。經過相當短的調整階段,我們便開始沈迷於ArangoDB查詢語言(AQL)。對我們來說,用AQL 編寫查詢非常直觀,我們可以利用各種各樣的函數和數據訪問模式。 AQL 更令人稱贊的方面是它使用嵌套的FOR循環來組合查詢。因此,使用AQL 編寫代碼和寫入查詢之間的轉換非常順暢。他們的”多模型“ 方案以及在AQL 本地連接和圖表遍歷的可能性也非常好, 因為有時在相同的查詢中結合連接和遍歷是很方便的。

另一個重要的是ArangoDB 的微服務框架Foxx。我們使用Foxx 相當頻繁; 我們已經為我們的應用程序創建了二十多個Foxx 服務。坦率地說, Foxx 入門有點難:文檔可以進一步改進,更多的示例或最佳實踐都會有很大的幫助。不過,目前ArangoDB 團隊和社區支持已經緩解了這一缺陷。他們非常專業,也很積極回應。這是我們決定使用ArangoDB 數據庫的原因之一。

目前,我們在ArangoDB中存儲了270GB以上的數據(轉儲到408GB的磁盤)。隨著數據量的穩步增長,我們很快將轉向三節點集群,主要是為了提高可用性(參見下圖)。

技術分享圖片技術分享圖片

我們當前單節點設置的設置是24個vCPU和512GB的RAM。對於集群設置,我們計劃為主設備使用相同的機器。
我們的應用程序本身是讀/寫密集型的,在高峰期每秒至少有三次寫入和每秒兩千次更新。我們體系結構中的隊列有助於陰影寫入,甚至可以加載ArangoDB。讀數一般穩定, 我們預計不會出現大規模的高峰。

我們從ArangoDB 中獲得了什麽 ?

首先,我們了解到,在查詢中結合不同的數據模型實際上是可能的,有時也是非常有用的。查詢運行速度非常快,AQL 非常直觀,即使我們的產品負責人和業務分析師現在也在寫相當容易的超過二百行的龐大查詢。有時候他們不得不問哪個索引應該被使用,但是大多數查詢的性能都可以接受,而且不需要額外的工作。

Foxx 框架幫助我們大大減少了我們的開發時間。正如我們將與許多REST 服務集成一樣,我們過去為集成測試編寫了大量的模擬器。現在REST 服務可以隨即由 Foxx 得出。我們還可以定義自己的路由,這樣運行的數據不必發送給客戶,相反,它可以在數據庫中進行處理,之後只將結果發送給客戶。通過這種方法,我們可以減少很多麻煩,並在需要時提高安全性。對於我們來說,Foxx與ArangoDB 提供了極大的幫助,使用經驗也非常棒。

總的來說,我們現在可以將得所需的所有數據 --保證,報告,移動,API門戶-- 在一個地方獲得,從而提供快速和安全的訪問。 AQL的靈活性,以及??不同數據模型的組合,可以輕松地獲得所需的查詢運行和優化。由於Foxx和AQL,我們輕松地擴展了應用程序的功能。這樣我們可以將更多的時間花在實際的應用程序開發上,並更迅速地獲得所需的結果答案。畢竟,我們被稱為“答案公司”。

關鍵特征的重要性

技術分享圖片

致謝 Tanvir Mansuri 的原創使用案例。

湯森路透 Thomson Reuters --使用多模型數據庫ArangoDB 打造快速安全的簡潔視圖分析