トップ ITインフラ OSとミドルウェア MySQL MySQLとは? 初心者の方への道しるべ、Web制作とシステム開発で異なる学習法

MySQLとは?―初心者の方への道しるべ、Web制作とシステム開発で異なる学習法

MySQLとは何か?について初心者の方向けの説明をしています。またWeb制作とシステム開発で学び方が異なりますので、MySQLの学習の経路を紹介しています。

▲記事トップへ

目次

この記事の目次です。

1. MySQLとは
2. MySQLで何ができるか
3. 初心者から上級者へ向けてのMySQLの学習方法
4. 最後に

もっと知識を広げるための参考
更新履歴

1. MySQLとは

MySQLは、リレーショナルデータベースを管理するシステム(RDBMS)の1つです。 世界的に広く普及していて、各レンタルサーバ、AWSなどあらかじめ用意されていたり、企業内の多くのシステムで利用されています。

読み方

MySQLの読み方は「まいえすきゅーえる」です。

2. MySQLで何ができるか

MySQLで何ができるのでしょうか。MySQLでできることを挙げてみます。

RDBMSの機能の利用

他のRDBMSと同様の機能が利用できます。

ライセンス費用の削減

MySQLはオープンソースですので、ライセンス費用が削減できます。

大きなシステムのデータベース構築

導入事例を見てもわかるように、名立たる企業で利用するような大きなシステムに導入されています。

導入事例)https://www.mysql.com/jp/why-mysql/case-studies/

小さなシステムの構築

個人で公開するような小さなホームページでも利用されています。

WordPressの利用

WordPressで使用するデータベースはMySQLですので、WordPressが利用できます。

補足)用語と関連知識

MySQLの初心者の方で、システム開発者ではない方など、上記説明でぴんと来ない方もいると思いますので用語と関連知識についての補足です。

データベースとは?

Excelの表にデータを記入して保存し、必要に応じて集計しますがこれもデータベースです。 データベースとは?略してDB。DBとは?データベースとは何かをまとめています。

詳細

データベース管理システムとは?

データベースはあくまでもデータの入れ物にすぎません。データベースに対してデータを出し入れする役割を果たすソフトウェアのセットがデータベース管理システムです。

データベース管理システムとPHPやJavaなどで作成したアプリケーションを連携してWebサイトやシステムができます。

データベース管理システムはデータベースを操作/管理するための「汎用的な」手段を提供するソフトです。それだけでは、ユーザが使用するWebサイトやシステムができません。 PHPやJavaなどのプログラミング言語を使用して連携するアプリケーションを作成する必要があります。

PHPとは?

Webサイトの作成を主目的につくられたプログラミング言語です。ほとんどのレンタルサーバで利用できます。

Javaとは?

WindowsやMac、Linuxなど異なるプラットフォームで同じプログラムコードが利用できるプログラミング言語です。 使用するにはJRE(Java実行環境)というソフトをインストールする必要があります。レンタルサーバでは利用できません。

3. 初心者から上級者へ向けてのMySQLの学習方法

最終的にMySQLマスターの完成系は同じですが、Web制作系の方とシステム開発系の方で、初心者からの実務知識獲得へ向けた導入知識が異なるので注意が必要です。

Web制作系の方が初心者から実務知識を得る学習経路

Web制作系の方が触れるMySQLは、レンタルサーバが用意したMySQLがほとんどと思います。 インストール方法などMySQLの構築から行う必要はなく、予め用意されたMySQLをレンタルサーバの多くで利用できるPHPのプログラムで操作することが多いと思います。 (WordPressなど接続先だけ設定する場合もありますが。)

ですので、以下のように進めるのがよいと思います。

  1. MySQLが利用できるレンタルサーバを借ります。ロリポップのライトプランなら月額250円ほどです。
  2. まずはPHPのプログラムを勉強して、レンタルサーバでPHPの簡単なプログラムを動かせるようにします。
  3. 次に、レンタルサーバの利用ガイドを参考にMySQLのデータベースを作成します。
  4. そして、SQLを実行するPHPのサンプルコードを見つけてPHPを使用してMySQLを操作するプログラムを作成していきます。
  5. あとは、システム開発者向けの学習経路を参考に知識を拡充していきます。

システム開発者の方が初心者から実務知識を得る学習経路

システム開発者の方は、まずは事務PCでテストが行えるように進めていくのがいいと思います。 そのためには、Windows版のMySQLをインストールから始める必要があります。

ですので、以下のように進めるのがよいと思います。

  1. OracleのホームページからWindows版のMySQL Community Serverのインストール媒体をダウンロードします。
  2. Windows PCにMySQLをインストールして、まずはコマンドラインツールでデータベースやテーブル作成など基本的なコマンドライン操作を覚えます。
  3. 次に、書籍などを参考にJava言語を学習して、その過程でJDBCでMySQLに接続するプログラムを作成していきます。
  4. そして、コネクションプーリングやトランザクションなどのコーディング方法を覚えたり、MySQL構築系の書籍などを参考にLinuxやUnix環境にMySQLを構築してバックアップ、レプリケーション、セキュリティなど実用的な知識をフォローしていきます。
  5. あとは、実務を通して経験値を増やして行きます。OracleのセミナーやMySQLのコミュニティーに参加するのもいいのではと思います。

4. 最後に

初心者の方向けのガイダンスとして、最後に覚えておきたいことです。MySQLは、データ量が増えてくると遅いです。

ずいぶん前に、Webをクロールして、MySQLに数千万件Webページの情報を蓄えるシステムを作ってみたことがあるのですが(Googleにあこがれて趣味で)、 10万件を超えるテーブルが出てくると体感でわかるくらいデータの取り出しが遅くなりました。100万件を超えると30秒とか使い物にならないくらいです。

乾いたぞうきんを絞るように、いろいろチューニングしたり、MySQLのサーバーを増やしたりして2倍程度まで高速化しましたが、30秒が15秒とかその程度で根本解決になりませんでした。

あれこれ情報収集して、Redisが有力であることを知りました。 驚くべきことに、Redisを知って、勉強しつつたった1週間くらいで複数サーバで30秒かかっていた一連の検索処理が1サーバのRedisで0.1秒と体感ではわからないくらいの速度になりました。 しかもRedisは、さらにパイプライン化という機能の使用など、そこから数倍の高速化ができました。数千万件でも体感で感じないです。

「MySQLとは」の補足で、「データベースには種類がある。」と書きました。 データベースにはMySQLのようなRDB以外に種類があることを忘れずに。RDBに困ったら別のデータベースを試した方がいいです。 特にお勧めは、NoSQLのインメモリKVS(キ―バリューストア)のRedis(レディース)。Redisがお勧めです!

もちろんRedisは、シングルプロセスとか楽観的なトランザクションなど懸念点はありますが、 言いたいのは、データベースはシステムに合わせて選択の余地がたくさんあるということです。データベースは要件に合わせて選択すべきという点です。

もっと知識を広げるための参考

もっと知識を広げるための参考です。

データベース関連の技術知識

MySQL

このページは、MySQL関連の技術情報を掲載しています。

詳細

更新履歴

この記事の更新履歴です。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

18.221.167.11

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク