ライブラリを導入してみる
前回の振り返り
database.ymlの編集とデータベースの作成まで行いました。
前回のブログ↓
database.ymlの編集とデータベース作成 - whale_86’s blog
今回使うライブラリの導入まで
ライブラリとは
▶︎他のプログラムと組み合わせて使用するために、複雑なプログラムを一つのセットにした物。プログラミングにおける拡張機能のこと。
ハンバーガー屋さんのセットでポテトを頼むような物ですね🍟
Rubyでのライブラリ
▶︎RubyでのライブラリはRubyGemsというシステムで管理がされている。そのため一つ一つのライブラリをGem(ジェム)と呼びます。
Ruby on RailsもGemを組み合わせて出来たGemのようです!
RailsのGem関連の知識
Gemfileとは
▶︎Gemの「名前」と「バージョン」の情報を記載し、管理するRailsに付属するファイルです。Gemは他のGemの機能を使って成り立っている複雑な関係性があります。一つのGemだけをインストールしても動かない場合がありますが、bundlerというGemにより関係を管理して必要なGemやバージョンを合わせてインストールしてくれます。
Gemfile.lockとは
▶︎インストール済みとなったGemの情報を記録されるファイルです。一つのGemのためにどのGemをどのバージョンで合わせてインストールしたか確認することができる。
RailsにGemを入れてみる
Gemfileを以下のように編集します。
# Use mysql as the database for Active Record gem 'mysql2', '0.5.3'
mysql2のバージョンを0.5.3に編集する。
今回はすでにインストール済みのバージョンを変えるため以下のコマンドをターミナルで実行します。
# Gemfileを元にGemをインストールし、Gemfile.lockを更新する
% bundle update
もしインストールをする場合は以下を実行します
% bundle install
MySQL2について調べてみた
上記でバージョンを指定したMySQL2って何者なのか調べてみました。
mysql2公式!
MySQL2の成り立ち
▶︎MySQLを強化した物らしい
▶︎MySQLより評価が良かったのか、Ruby on Railsでの標準装備もMySQLからMySQL2に変わったらしい。(MySQLが戦力外通告された...。)
MySQL2を知るには、どう強化されたのかMySQLを調べる必要がありそうです。
MySQLとは
▶︎データベース管理システムの一つ。大容量のデータにも高速で動作してくれる強み。
▶︎Webサイトの急増に伴うCMS(Webサイトを作るときのテンプレートを事前に保存、管理することができる)の発展に伴い需要が高まる。
▶︎オープンソースで基本的に無料
▶︎Linux、Windows、Macなど複数のOSで利用可能
▶︎巨大なWebサイトでも耐えられる頑丈さがある
おそらくここが強化された
▶︎扱いやすさ
▶︎通信の速度
まとめ
調べていてびっくりしてしまいました。MySQLとMySQL2の戦いは熱いのかなと予想していましたが、MySQLのバージョン更新は2013年で止まってしまっているようです。これについて、「MySQLの問題が解決されないようなので、MySQL2に乗り換える」という方もいました。
どう強化されたのかまだ説明できるほど理解できませんでしたが、いつか理解できるようになるのでしょうか...。
調べていくうちにDBランキングなる物を見つけましたが、私が習ったDBとはどんな違いがあるのか調べてみるのも楽しそうでした
前回 database.ymlの編集とデータベース作成 - whale_86’s blog
参考にさせていただいたサイト
▶︎File: README — Documentation for mysql2 (0.5.3)