SoutoIkedaの気まぐれブログ

書籍の感想を気まぐれにアウトプットするブログ

【6/1 アウトプット】データベースについて〜RDBMSとかMySQLとか〜

本日初投稿になります。よろしくお願いします。今回は、「データベースサーバー」について話していきたいと思います。ここで一つ図を使って説明します。

 

f:id:Souchan:20200601140554p:plain

【図】データベースサーバーの位置づけ

上記図の通り、データベースサーバーは、サーバーサイド側にありWEBアプリサーバーとデータの出し入れをする働きをもちます。「どういうデータを引き出すか」とか「どういうデータを格納するか」(上記図の矢印の部分)といった処理に用いられるのがSQLになります。では、前置きはこのくらいにして、本題に入ります。エンジニア採用の文脈では、SQL言語に加えて、上記図で示したようなデータベース(DB)そのものの種類をおさえておくことが必要になります。以下では、RDBMSという言葉とその小分類として頻出するMySQLについておさえたいと思います。

 

1)RDBMS(アールディービーエス

Relational DataBase Management Systemの略で、直訳すると「関係データベース管理システム」になります。いくつかの表形式のデータをつなぎ合わせて(Relational)管理するという思想に基づいています。ここから、SQL言語を利用してデータの出し入れをします。データの出し入れに関する流れは以下の記事にも載っているので、参照します。

qiita.com

1.【クライアント→RDBMSSQLを用いてリクエストを要求(こんなデータを出して欲しい!)

2. SQLによって要求されたリクエストをデータベース・エンジンが受け取る。

3. SQLの要求に対してDBエンジンがディスク内の表からそれに対応するデータを取り出す。

4. 【RDBMS→クライアント】取り出したデータをクライアントに返す。

 

このような流れになります。勉強になりますね。

 

2)RDBMSの小分類としてのMySQL

MySQLってSQLと付くので最初はSQL言語の一種かなと勘違いしてしまったのですが、上記RDBMSの種類の一つになります。つまり、MySQL=データベース管理システムということです。MySQLの特徴としては、大量のデータの中から少ないデータを高速に取り出すことに強みを持っているという点でしょうか。大規模サービスに用いられることが多く、無料で利用できるオープンソースになります。採用要件にMySQLを掲げている企業をたまに見かけますが、オープンソースということは、候補者がたとえ業務上で使っていないとしてもOSS活動などでキャッチアップが可能ということなのかな。完全な非エンジニアの持論ですが(笑)

 

今回はこの辺にします!ありがとうございました。