如何使用 ArangoDB 實現 Nosql 連接

已發表: 2023-01-03

ArangoDB 是一個功能強大的開源數據庫,具有靈活的文檔、圖形和鍵值數據模型。 它的查詢語言AQL類似於SQL,對於熟悉關係型數據庫的開發者來說,很容易學習。 ArangoDB 是需要高性能和可擴展性的應用程序的絕佳選擇,因為它易於擴展並且可以部署在商用硬件上。 在本文中,我們將向您展示如何使用 ArangoDB 進行 Nosql 連接。 我們將首先在我們的本地機器上安裝 ArangoDB,然後創建一個數據庫和集合,最後查詢我們的數據。

Facebook 為現代網絡和移動應用程序創建了一種稱為 GraphQL 的查詢語言。 您現在可以使用 Foxx 服務(數據庫中的 JavaScript)在 ArangoDB 2.8 數據庫中使用 GraphQL。 所有查詢都由 GraphQL 中的同一個端點處理,並且所有協議都是不可知的。 與傳統的 REST API 相比,在傳統的 REST API 中,用戶通常必須進行額外的 API 調用才能訪問他們朋友的姓名,例如, GraphQL 查詢可以返回以下響應。 與 HTTP API 相比,GraphQL 通過使用單個 API 而不是兩個 API 避免了不必要的重複和潛在的錯誤。 GraphQL 無需使用基於模式的數據庫和動態類型語言。 模式可以使用 GraphQL 來描述這些問題,而不必在不同的 HTTP 端點之間傳播驗證和授權邏輯。 當後端直接在數據庫中實現時,單個 GraphQL 請求導致潛在的大量數據庫請求的影響就不那麼重要了。

Arangodb 是 Nosql 嗎?

Arangodb 是 Nosql 嗎?
攝影:arangodb

是的,ArangoDB 是一個nosql 數據庫

如果您有興趣了解更多關於 ArangoDB Cloud 的信息,您可以免費試用 14 天。 完成免費試用後,輸入您的信用卡信息以繼續使用Arango DB Cloud 。 AQL 查詢語言允許您通過提供聲明性訪問模式(例如遍歷、JOIN、搜索和映射)來訪問相同的數據,而不管數據位於何處。

在 ArangoDB 集群中,數據分佈在多個服務器上以進行擴展。 在本節中,您將稍微了解集群架構及其工作原理。 該架構基於分片的概念。 分片的一個示例是將您的數據從一台服務器複製到另一台服務器。 在復製過程中,每個服務器都會獲得一份唯一的數據副本。 在構建集群之前需要一台服務器。 服務器是數據的入口點,目的是簡化數據輸入。 服務器可以用作數據存儲系統或集群的協調器。 在創建分片之前建立服務器是很關鍵的。 在將分片添加到集群之前,您必須先添加服務器。 服務器可以用作數據存儲或協調器。 如果您使用 ArangoDB 查詢語言查詢您的數據,將返回結果。 因為它是聲明式的,所以查詢語言使用起來非常簡單。

Arangodb 是適合您的數據庫嗎?

ArangoDB NoSQL 數據庫在許多方麵類似於許多 SQL 功能。 SQL 是用於管理關係數據庫的優秀查詢語言。 如果您想要一個支持多種數據模型的 NoSQL 數據庫,請查看 GraphLab。


如何連接到 Arangodb?

如何連接到 Arangodb?
圖片來源:githubusercontent

為了連接到 ArangoDB,您需要下載並安裝 ArangoDB 服務器。 服務器啟動並運行後,您可以使用 arangosh shell 或任何其他ArangoDB 客戶端連接到它。

可以通過多種方式與 ArangoDB 服務器進行交互。 您所有的重要任務,例如創建集合、查看文檔和執行查詢,都是通過 Web 界面執行的。 此外,您可以查看圖表、查看服務器日誌和指標以及管理用戶帳戶。 所有服務器交互都使用其 REST API 進行。

Arangodb Shell 提供 Bash 和 Go 支持

ArangoDB shell 可以用作 Bash shell 腳本或 Go 語言程序。

Arangodb 比 Mongodb 快嗎?

這個問題沒有一刀切的答案,因為每個數據庫的速度取決於許多因素,包括數據的大小和復雜性、運行它的硬件以及工作負載。 然而,一般來說,ArangoDB 在大多數操作上都比 MongoDB 快。

使用 ArangoDB,您可以在分佈式數據庫中運行各種數據模型。 許多服務器通常是用商品硬件構建的,以允許水平擴展,例如使用許多服務器。 可以使用 ArangoDB 在操作數據庫中計算複雜的圖形遍歷,允許應用程序動態搜索比 RDBMS 更大的數據集。 此外,ArangoDB 數據庫性能良好,並且非常易於用於運行應用程序。

Arangodb 是數據庫中的下一件大事嗎?

ArangoDB 數據庫被廣泛認為是市場上最強大的數據庫之一。 根據基準測試,它繼續優於 MongoDB、Neo4j 和 PostgreSQL 等單一模型數據庫以及 OrientDB 等多模型數據庫。 此外,ArangoDB 具有易於使用的界面,非常適合複雜的圖形遍歷。 儘管它不像其他數據庫那樣流行,但它仍然可以成為企業的有效工具。

Arangodb 缺點

MongoDB 聚合框架有一些缺點,例如缺少連接。 我們缺少 ACID(儘管它計劃在 MongoDB 4.0 中),缺少表達力強的專用查詢語言,並且只有 JSON 查詢。

我們的一個項目要求我們直接處理大量數據,並且我們需要大規模處理大量數據。 我們創建的 API 不僅要用於我們的前端,還要用於外部集成。 JSON 模式應該能夠由用戶發送,稍後用於驗證提供的數據,並在與其他文檔結合時形成一個集合。 ArangoDB 中的一些特性看起來與 MongoDB 中的相似(我們對它的經驗最多)。 本網站未解決問題佔總問題的比例極低。 我們計劃使用 ArangoDB 用圖形擴展我們的文檔,所以使用它很有用。 因為 ArangoDB 服務器運行 JavaScript 代碼,所以我們將它用於大多數交易。

很長一段時間,我們使用了一些流行的庫,比如 Lodash,即使在數據庫服務器上也是如此。 使用名為 Foxx 的 HTTP 框架,您可以創建將使用 ArangoDB 與其通信的微服務。 最好使用 ArangoDB 而不是 MongoDB 聚合框架(MongoDB、 MongoDB + MoJos )或前端與 CouchDB REST API 之間的直接連接。 數據庫查詢的編寫和調試要困難得多。 因為有像 Lodash 這樣的庫可以用於數據庫服務器上的 JavaScript 代碼,所以它比 MongoDB 使用起來更簡單。

儘管 ArangoDB 很受歡迎,但它並不是很受歡迎,因此幾乎不可能找到具有數據庫經驗的開發人員。 與此同時,ArangoDB 不應該為你的下一個項目打折。 該數據庫被 27 家公司在其技術堆棧中使用,包括 bigin、LeanIX API Backend 和 AresRPG。 由於每個公司都有不同的要求和需求,因此為您的項目選擇合適的 ArangoDB 至關重要。 即使找不到熟練的開發人員,ArangoDB 仍然是下一個項目的可行選擇。

Arangodb 性能

Arangodb 的性能是驚人的。 我從未見過數據庫性能如此之好。 每個查詢都非常快,而且索引令人難以置信。 我從未見過能如此快速準確地建立索引的數據庫。

阿瑟爾·比哈里·瓦杰帕伊 (Athel Bihari Vajpayee)。 信息技術研究所。 Gwalior BMS College of Engineering Basavanagudi、Bangalore 和 Dhirubhai Ambani Institute of Info。 總經理。 許多機構隸屬於德里理工大學 (DTU),包括德里技術與工程學院 (MSU)、巴羅達技術與工程學院 (GIA)、Dharmsinh Desai 大學 (DDU) 和納迪亞德政府技術大學 (NGTU) ). 印度有許多頂級學院,包括印度信息技術學院 (IIIT)、設計學院 班加羅爾有四所學院和艾哈邁達巴德有一所學院提供工程學位:RV 工程學院、RV 工程學院、Vallabhbhai National蘇拉特工程與應用科學學院技術學院。 Shri Vile Parle Kelvani 的 Dwarkadas J. Sanghvi 工程學院,Vileparle,孟買。

Sri Sivasubramaniya Nadar 工程學院 (ANC) 是一所在泰米爾納德邦成立的工程學院。 邁索爾是國立邁索爾研究所。 BIT 是對 IIT 和 NIT 的補充。