我想在我的应用程序中嵌入一个图形数据库(适用于windows,linux和MAC)。我将搜索范围缩小到ArangoDB& OrientDB。我能够使嵌入式OrientDB工作,但我仍然想尝试ArangoDB做出明智的决定。 OrientDB嵌入式版本的文档非常清晰,而我无法找到ArangoDB的任何内容。 ArangoDB是用C ++编写的,所以我还要弄清楚如何使它可以跨平台移植,以及如何使用我的应用程序安装它。 ArangoDB(或OrientDB)的使用对我们应用程序的用户应该是透明的。谢谢!
更新:我忘了提及,我们的应用程序是用C ++编写的。我们正在寻找可以帮助我们使用现有模块构建ArangoDB二进制文件的指令。然后我们可以弄清楚如何加载二进制文件并与它们交谈。
答案 0 :(得分:5)
可以在应用程序安装时安装ArangoDB实例。
它安装在自己的目录中,其关键资产是:
ArangoDB可以作为服务运行,并通过名为arangod.conf的文件进行配置。
此文件集中控制其运行的端口,侦听的IP地址,要使用的数据库引擎,SSL和安全设置等设置。
以Windows为例,您可以进行ArangoDB的静默安装,然后使用PowerShell或DOS批处理文件等工具来停止/启动ArangoDB服务,使用所需的配置设置复制到arangod.conf文件中等等。
甚至可以生成SSL证书并将其应用于ArangoDB实例,以便在需要时可以与数据库建立SSL连接。
此外,您可以通过脚本使用ArangoShell,它允许您创建数据库,从备份恢复默认数据,创建ArangoDB用户,分配权限。
听起来您需要更加熟悉ArangoDB作为产品,然后开始忙于安装,卸载,配置和备份/恢复数据库。
我还评估了ArangoDB与OrientDB,我选择了ArangoDB,因为它运行速度更快,有更多更新,并且他们的驱动程序包写得很好。
对于嵌入式数据库,您确实需要一个多模型数据库,并且能够将标准文档和图形数据存储在一个数据库引擎中,这是非常宝贵的。
此外,还要非常了解ArangoDB的Foxx MicroService架构。它允许您在ArangoDB数据库中运行REST API和作业队列后面的业务逻辑。这意味着您的应用程序甚至不需要对数据库进行原始表访问,而是可以通过REST API访问您的数据,并且您的内部架构对用户是隐藏的,您的业务逻辑会阻止他们执行愚蠢的事情并破坏数据库
通过在应用程序和数据库之间建立REST API数据层,它可以让您更灵活地了解人们如何使用数据,为您提供更多选择,以安全的方式打开它,知道您的应用程序逻辑将保留您的数据安全
如果您选择使用Foxx,ArangoDB发布了一个很酷的新工具,名为foxx-cli,它允许您在数据库中编写Foxx MicroServices的安装和配置脚本。这是一个超级强大的工具,因为它可以通过安装脚本完全安装和配置ArangoDB服务器,数据库和内部设置。
花时间学习ArangoDB,与所有技能一样,需要时间才能真正了解它。我每天都在学习一些东西,而且我只用了2年了。)
答案 1 :(得分:4)
如果你正在使用NodeJS(我必须假设你没有提到你正在使用的编程语言)作为你的平台,你可以使用Electron(https://electron.atom.io)并使用ArangoJS({{ 3}})驱动程序,如果需要ORM,我建议使用(http://npmjs.com/package/arangojs)内置支持ArangoDB,虽然文档标准较差,但它应该足以满足一些编程知识。
OFT: Electron允许您使用纯HTML,JS和CSS创建跨平台桌面应用程序。如果您的目标是移动平台,也可以使用Cordova。
你也可以使用Foxx来执行你的一些应用程序逻辑(这取决于你的个人喜好),或者也可以创建一个API平台(例如Restify)。
大多数数据库系统都是用C ++编写的,但这并不意味着只能通过C ++访问它们,而是为流行语言提供了额外的驱动程序。如果您使用特定语言,请更新问题,以便我们进一步提供帮助。
您可能还想阅读:http://npmjs.com/package/caminte,了解为什么ArangoDB会是您的最佳选择。
修改强>
由于我在C ++方面的经验有限,我只能提供一些我之前保存的参考文献,但我相信它们对你有用。
对于C ++,您应该使用的驱动程序是:
驱动程序的使用示例:
https://www.arangodb.com/2017/11/introduction-fuerte-arangodb-c-plus-plus-driver/
关于如何在ArangoDB中使用图形的简单示例/教程:
https://www.arangodb.com/wp-content/uploads/2017/10/C-Example-Source-Code-File.cc
Arango关于绘图的免费课程:
https://docs.arangodb.com/3.2/Manual/Graphs/
希望他们帮忙!