The goal of this backend is to support RocksDB. This implementation is a work in progress.
Please read the Datahike configuration docs on how to configure your backend. Details about the backend configuration can be found in konserve-rocksdb.A sample configuration is
create-database, connect and delete-database:
{:store {:backend :rocksdb :path "/tmp/datahike-rocksdb-playground"}}
Add to your Leiningen or Boot dependencies:
(ns project.core
(:require [datahike.api :as d]
[datahike-rocksdb.core]))
(def cfg {:store {:backend :rocksdb :path "/tmp/datahike-rocksdb-playground"}})
;; Create a database at this place, by default configuration we have a strict
;; schema validation and keep historical data
(d/create-database cfg)
(def conn (d/connect cfg))
;; The first transaction will be the schema we are using:
(d/transact conn [{:db/ident :name
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one }
{:db/ident :age
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one }])
;; Let's add some data and wait for the transaction
(d/transact conn [{:name "Alice", :age 20 }
{:name "Bob", :age 30 }
{:name "Charlie", :age 40 }
{:age 15 }])
;; Search the data
(d/q '[:find ?e ?n ?a
:where
[?e :name ?n]
[?e :age ?a]]
@conn)
;; => #{[3 "Alice" 20] [4 "Bob" 30] [5 "Charlie" 40]}
;; Clean up the database if it is not needed any more
(d/delete-database cfg)
bash -x ./bin/run-integration-tests
Copyright © 2023 lambdaforge UG (haftungsbeschränkt)
This program and the accompanying materials are made available under the terms of the Eclipse Public License 1.0.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |