Use Elixir with Phoenix and PostgreSQL

  • Status: accepted

  • Date: 2025-01-06

Context

The techniques for distributed streaming applications has been convering the old Actor Model. The Actor Model is a mathematical model for concurrent computation, introduced by Carl Hewitt in the 1970s. It views computation as a collection of independent entities called “actors” that communicate with each other by sending messages. Each actor has its own state, behavior, and a mailbox for receiving messages.

Erlang has 30+ years of experience. It’s lighter, simpler and more appropiate than Java/Scala/Clojure for this kind of job. Elixir is a nice language implemented over Erlang OTP with a big ecosystem of frameworks and tools such as Phoenix Framework which would greatly improve developer hapiness and robustness of the application.

Please see:

Why PostgreSQL?

PostgreSQL is a relational database server. Phoenix configures applications to use it by default.

Please see:

Considered Options

Decision Outcome

Using Elixir with Phoenix Framework and PostgreSQL will enable future proof the application and have better data consistency and project quality with modern technology and tools.