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

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

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

MySQLとは

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

補足

MySQLの初心者の方で、システム開発者じゃない方など、上記説明でぴんと来ない方もいると思いますので補足です。

初心者から上級者へ向けての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のコミュニティーに参加するのもいいのではと思います。

知識を深めるための参考

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

その他

初心者の方向けのガイダンスとして、最後に覚えておきたいことです。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は、シングルプロセスとか楽観的なトランザクションなど懸念点はありますが、 言いたいのは、データベースはシステムに合わせて選択の余地がたくさんあるということです。データベースは要件に合わせて選択すべきという点です。

戻る

スポンサーリンク

サイト内のページ

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

開発環境
Ant /Bcc /Eclipse /gcc /gdb /g++ /JDK /JUnit /ZAP

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

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

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

ITインフラ PC 製品
ZOTAC

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

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

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

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク