Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 1.96 KB

README.md

File metadata and controls

71 lines (48 loc) · 1.96 KB

Ecto FoundationDB Adapter

CI

Driver

An Ecto Adapter for FoundationDB, written using foundationdb-beam/erlfdb as the driver for communicating with FoundationDB.

Installation

Install the latest stable release of FoundationDB from the official FoundationDB Releases.

You will only need to install the foundationdb-server package if you're running an instance of the FoundationDB Server. For example, it's common to run the foundationdb-server on your development machine and on managed instances running a FoundationDB cluster, but not for your stateless Elixir application server in production.

foundationdb-clients is always required.

Include :ecto_foundationdb in your list of dependencies in mix.exs:

defp deps do
  [
    {:ecto_foundationdb, git: "https://github.com/foundationdb-beam/ecto_foundationdb.git", branch: "main"}
  ]
end

Motivation

What are some reasons to choose EctoFDB?

FoundationDB offers:

  • Horizontal scaling of high-write workloads
  • Unbounded multi-tenancy
  • Serializable Transactions
  • Rich operations: multi-region, disaster recovery, backup/restore, telemetry

EctoFoundationDB offers:

  • Object storage similar to Record Layer
  • Online migrations
  • Built-in common indexes
  • Extensible index types

Usage

See the documentation for usage information.

Tenants

ecto_foundationdb requires the use of FoundationDB Tenants, which can be enabled on your cluster with the following configuration in an fdbcli prompt.

fdb> configure tenant_mode=optional_experimental

Running tests

To run the integration tests, use the following.

mix test