Ruby on Rails の MySQL アダプタは現状 mysql2 gem が最もメジャーだと思いますが、社内チャットで以下の記事を見かけて GitHub が Ruby on Rails 向けの MySQL アダプタを公開していたことを知ったので、その特徴を軽く調べました。
trilogy の特徴
- libmariadb / libmysqlclient への依存の回避
- mysql2 gem と比較してインストールが容易
- ActiveRecord アダプタもリリースされている (github/activerecord-trilogy-adapter)
- Requirements Ruby 2.7 or higher
- ネットワークパケット構築・解析のメモリ効率の向上
- 動的メモリ割り当てによるメモリ効率の向上
- 独自の低レベルネットワークプロトコル実装
- implemented in C
- MIT license
所感
2015年から GitHub 社内で使用されていたものがオープンソースとして公開されたもので、まだ GitHub 社外での利用実績は少なく、ライブラリが枯れるまでしばらくは待ちが懸命と思われます。
開発の経緯としては外部ライブラリへの依存を減らし、mysql2 gem よりも移植性と効率性を高めたい狙いがあったようです。個人的には注目。