ArangoDB NoSQL数据库:阿兰戈数据库

i7uaboj4  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(207)

我一直在寻找一个数据库,可以嵌入,也可以基于文件,像Sqlite。我想要一个NoSQL类型的数据库与这种功能。语言是Python,和ArangoDB绑定Python,和许多其他语言。
我发现关于ArangoDB的事实相互矛盾。在某些情况下,我看到一些文章说它不是嵌入式DB,或者不能嵌入,然后看到其他文章暗示它是嵌入式的。
此外,在网站上,它说,它存储其数据在一个特殊的二进制格式,然后我看到一篇文章说,它主要是一个内存数据库。
所以一直很困惑。
1)所以问题是,这个数据库可以嵌入在python应用程序中运行吗?
如果不是,如果它作为一个单独的进程运行,作为一个服务器运行,为了基于此部署桌面应用程序,这是否可以在用户方面“零配置”的情况下在Python中生成/管理。
2)数据库数据等是否存储在磁盘上。
就是这样!

1l5u6lss

1l5u6lss1#

不,您不能以嵌入SQLite的方式嵌入ArangoDB。
ArangoDB提供了Foxx framework,您可以使用它在JavaScript中实现接近数据库核心的REST完整微服务,就像您将python与SQLite一起使用一样。
目前有几个可用的python驱动程序,它们允许您以一种舒适的方式从python访问ArangoDB。
ArangoDB下载页面提供了几个软件包,你可以使用它们来部署ArangoDB和你的应用程序。我们提供了一个windows zip包,你可以自己安装,而不需要用户交互;对于linux发行版,你可能希望使用该发行版的相应软件包。易于部署是我们的核心目标之一。
关于数据库和数据本身,这是通过内存Map文件持久化到磁盘上的。然而,索引和其他结构是在启动时建立的,这就是为什么我们称自己为 * 大部分在内存中 *。
对ArangoDB(和foxx)的常规访问是通过http接口完成的,你会得到json文档作为响应。驱动程序为你抽象了那个接口。如果你实现了foxx应用程序,你可能需要自己制定请求。
ArangoDB数据文件不打算跨机器移动;当然,只要你在两台机器上使用相同的操作系统和架构,它就可以工作。正确的方法是在第一台机器上使用ArangoDump,在第二台机器上使用ArangoRestore。这些主要是json内部(每行一个json文档),所以它们是可移植的,甚至可以简单地加载到python中-你甚至可以使用directly access the dump facility from python,并为用户准备一封带有内容的电子邮件。
运行ArangoDB的最可持续方式是作为服务;请注意,您可能需要更高的权限才能在Windows中注册和重新/启动新服务。2然后,该服务将绑定一个tcp端口,您可以从网络中的其他节点访问该端口。

相关问题