A pure Elixir database driver for MariaDB and MySQL with native Elixir data type support.
Mariaex is a pure Elixir database driver for MariaDB and MySQL databases. It enables Elixir applications to connect to and query these databases directly, mapping database types to native Elixir data structures without requiring external C bindings. It solves the need for a lightweight, idiomatic database interface in the Elixir ecosystem.
Elixir developers building applications that need to interact with MariaDB or MySQL databases, especially those preferring pure-Elixir dependencies for easier deployment and maintenance.
Developers choose Mariaex for its simplicity, lack of external C dependencies, and seamless integration with Elixir's type system. It offers a clean, maintainable alternative to drivers that rely on ODBC or C libraries.
Pure Elixir database driver for MariaDB / MySQL
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
No external C dependencies, making deployment straightforward and cross-platform compatible, as highlighted in the README's emphasis on easier deployment.
Automatically converts MySQL types like DATE and DECIMAL to Elixir structs, reducing boilerplate code and ensuring idiomatic data handling.
Supports JSON columns with configurable libraries like Poison and provides structs for geometry data types, useful for modern applications with spatial or JSON data.
Allows setting :binary_as for proper Unicode character handling, crucial for international apps, as mentioned in the configuration section.
Missing advanced MySQL features such as stored procedure execution or comprehensive transaction support, making it less suitable for complex database operations.
Pure Elixir implementation may not match the speed of C-based drivers in high-throughput scenarios, introducing potential latency in data-intensive applications.
Not integrated with popular Elixir tools like Ecto, requiring additional layers or manual work for complex applications, unlike more feature-rich alternatives.