Skip to content

JesseStimpson/ecto_foundationdb

 
 

Repository files navigation

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

About

FoundationDB Adapter for Elixir's Ecto

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%