pyArango 与 Foxx 微服务

pyArango vs. Foxx Microservices

使用pyArango和Foxx微服务的主要区别是什么?正如我所见,我们最终在创建微服务时将 AQL 写入 .js 文件中。它与写入 pyArango 客户端有何不同?

使用Fo​​xx微服务和pyArango有什么优势?

谢谢

Foxx 微服务 运行 在数据库服务器上,这意味着如果他们需要操作大量数据来提供您需要的数据,那么数据操作就会在服务器上进行。

如果您使用 pyArango 从外部处理大量数据,那么全部数据必须通过您的 pyArango 驱动程序从服务器输出,以便 Python 可以处理数据以构建必填项。

显然,与 Foxx 的另一个不同之处在于它是用 JavaScript 编写的,因此对于您的项目而言,这可能是一个值得考虑的不同之处。

即使你 运行 Python 在 ArangoDB 服务器上,并通过 pyArango 提取数据而不是 Foxx,我猜想 Foxx 会更快。

就我个人而言,在实施 ArangoDB 时,我不允许直接 table 访问其数据,而是强制所有连接都通过 Foxx。

主要好处是我可以控制传入的数据模式、支持的操作、业务逻辑、用户访问级别,并限制数据消费者破坏数据完整性的可能性。

另一个主要好处是,通过 Foxx 公开数据并阻止直接 AQL 访问,我可以灵活地更改底层数据集合、模型、结构和关系,而无需消费者更改他们的代码,因为我只是更新了相关的 Foxx REST 端点,它们继续以与结构更新之前相同的方式返回数据。

这不是非黑即白的决定,但通过考虑应用程序的安全性、消费、生命周期和优先级,您会得出适合自己的答案。