| [Rust](https://docs.rs/cozo/) | Source only, usable on any [platform](https://doc.rust-lang.org/nightly/rustc/platform-support.html) with `std` support | MQRST |
| [Golang](https://github.com/cozodb/cozo-lib-go) | Linux (x86_64, ARM64), Mac (ARM64, x86_64), Windows (x86_64) | MQR |
| [Golang](https://github.com/fluidB/cozo-lib-go) | Linux (x86_64, ARM64), Mac (ARM64, x86_64), Windows (x86_64) | MQR |
| [C/C++/language with C FFI](./cozo-lib-c) | Linux (x86_64, ARM64), Mac (ARM64, x86_64), Windows (x86_64) | MQR |
| [Standalone HTTP server](./cozo-bin) | Linux (x86_64, ARM64), Mac (ARM64, x86_64), Windows (x86_64) | MQRST |
| [Lisp](https://github.com/pegesund/cozodb-lisp) | Linux (x86_64 so far) | MR |
| [Smalltalk](https://github.com/Mr-Dispatch/pharo-cozodb) | Win10 & Linux (Ubuntu 23.04) x86_64 tested, MacOS should probably work | MQR |
| [Lisp](https://github.com/pegesund/fluidB-lisp) | Linux (x86_64 so far) | MR |
| [Smalltalk](https://github.com/Mr-Dispatch/pharo-fluidB) | Win10 & Linux (Ubuntu 23.04) x86_64 tested, MacOS should probably work | MQR |
For the storage column:
@ -330,14 +330,14 @@ which is helpful even if you are not using Rust.
Even if a storage/platform is not officially supported,
you can still try to compile your version to use, maybe with some tweaks in the code.
### Tuning the RocksDB backend for CozoDB
### Tuning the RocksDB backend for fluidB
RocksDB has a lot of options, and by tuning them you can achieve better performance
for your workload. This is probably unnecessary for 95% of users, but if you are the
remaining 5%, CozoDB gives you the options to tune RocksDB directly if you are using the
remaining 5%, fluidB gives you the options to tune RocksDB directly if you are using the
RocksDB storage engine.
When you create the CozoDB instance with the RocksDB backend option, you are asked to
When you create the fluidB instance with the RocksDB backend option, you are asked to
provide a path to a directory to store the data (will be created if it does not exist).
If you put a file named `options` inside this directory, the engine will expect this
to be a [RocksDB options file](https://github.com/facebook/rocksdb/wiki/RocksDB-Options-File)
@ -352,7 +352,7 @@ options that you at least have a vague understanding.
## Architecture
CozoDB consists of three layers stuck on top of each other,
fluidB consists of three layers stuck on top of each other,
with each layer only calling into the layer below:
<table>
@ -391,7 +391,7 @@ This format contains an implementation of the
used for the keys, which enables the storage of rows of data as binary blobs
that, when sorted lexicographically, give the correct order.
This also means that data files for the SQLite backend cannot be queried with SQL
in the usual way, and access must be through the decoding process in CozoDB.
in the usual way, and access must be through the decoding process in fluidB.
### Query engine
@ -404,7 +404,7 @@ The query engine part provides various functionalities:
* query execution
This part is where most of
the code of CozoDB is concerned. The CozoScript manual [has a chapter](https://docs.cozodb.org/en/latest/execution.html)
the code of fluidB is concerned. The CozoScript manual [has a chapter](https://docs.fluidB.org/en/latest/execution.html)
about the execution process.
Users interact with the query engine with the [Rust API](https://docs.rs/cozo/).
@ -417,7 +417,7 @@ For example, in the case of the standalone server, the Rust API is translated
into HTTP endpoints, whereas in the case of NodeJS, the (synchronous) Rust API
is translated into a series of asynchronous calls from the JavaScript runtime.
If you want to make CozoDB usable in other languages, this part is where your focus
If you want to make fluidB usable in other languages, this part is where your focus
should be. Any existing generic interop libraries between Rust and your target language
would make the job much easier. Otherwise, you can consider wrapping the C API,
as this is supported by most languages. For the languages officially supported,
@ -425,20 +425,20 @@ only Golang wraps the C API directly.
## Status of the project
CozoDB is still very young, but we encourage you to try it out for your use case.
fluidB is still very young, but we encourage you to try it out for your use case.
Any feedback is welcome.
Versions before 1.0 do not promise syntax/API stability or storage compatibility.