Ruby で MySQL に接続をするには

MySQL に接続するには、下記のライブラリのどちらかが必要になる。

MySQL/Ruby
C言語で書かれているので高速。ただし、コンパイル作業が必要。
Ruby/MySQL
Ruby で記述されている。コンパイル作業は不要だが、低速。

ただし、両ライブラリを利用して記述した場合、データベースに依存したコードを書くことになる。
他のデータベースでスクリプトを動作させる必要が生じた場合、データベースに依存しているコードを書き直す必要がある。

データベースの処理部分の記述を抽象化させる

データベースが変更になる可能性がある場合、データベースの処理部分を抽象化しておくと便利である。抽象化には Ruby/DBI を利用する方法がある。

Ruby/DBI
Ruby/DBI は、
-> Ruby スクリプト
-> DBI(データベース・インターフェース)
-> DBD(データベース・ドライバー)
-> データベース・クライアント・ライブラリ
-> データベース
というスタックになり、データベースに依存する部分がプログラムから隠蔽される。なお、Ruby の DBD はアダプターであってクライアント・ライブラリ自身ではないので、クライアント・ライブラリである MySQL/Ruby または Ruby/MySQL が別途必要になる。