Clojure 如何获取持久的本地数据组数据库?

Clojure 如何获取持久的本地数据组数据库?,clojure,datomic,Clojure,Datomic,对于Datomic,我对如何获得本地数据库感到困惑 如果我键入: >>(ns datomic-tut (:use [datomic.api :as d])) nil >>(d/create-database "datomic:mem://hello") true >> (d/connect "datomic:mem://hello") #<LocalConnection datomic.peer.LocalConnection@57102fab>

对于Datomic,我对如何获得本地数据库感到困惑

如果我键入:

>>(ns datomic-tut (:use [datomic.api :as d]))
nil

>>(d/create-database "datomic:mem://hello")
true

>> (d/connect "datomic:mem://hello")
#<LocalConnection datomic.peer.LocalConnection@57102fab>

>> Ctrl-D to Disconnect
我是否可以创建另一种类型的本地uri来保存我创建的数据库?

该指南介绍如何使用免费存储协议

使用免费存储协议运行事务处理程序

免费存储协议使用本地磁盘文件进行存储

您可以启动具有可用存储的本地事务处理程序,如下所示:

bin/transactor config/samples/free-transactor-template.properties
此脚本将打印几行输出,包括用于连接的基本URI,例如

datomic:free://localhost:4334/<DB-NAME>

使用此URI,您现在应该能够重复上一节中的步骤,这一次连接到事务处理程序。

自2020年起,虽然datomic free仍然存在,但它仍然存在。Cognitect推出了一个新的专业入门版,他们打算以此作为更好的入门方式。这也是免费的,并给予永久许可。限制仅限于您获得的免费更新的持续时间,限制为一年

以下是最新的安装指南:

如果您只想尝试一下,那么最好先使用内存:


另请注意,datomic cloud是一款更新的产品。但即使考虑到云计算,首先在prem上进行探索似乎也不是不合理的。如果是这样的话,请注意重点学习客户机api,而不是对等机,因为对等机不存在于datomic云中(事实上,它们存在于对等服务器中……这是轻量级客户机连接到的服务器,用于运行查询)。

ahh。。。当我通过图坦卡蒙考试时,我跳过了那一步!谢谢现在还可以使用
datomic:free://
协议。在当前版本的datomic(0.8.4122)中,示例属性文件的名称不同。使用
bin/transact-config/samples/free transact-template.properties
。顺便说一句,我必须在Windows/Cygwin中使用
bin/transact.cmd
(而不是
bin/transact-config/code>)来启动和运行数据库。我遇到了如下错误:
datomic:free://localhost:4334/<DB-NAME>
datomic:free://localhost:4334/hello