如何使用 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 的补充。