支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • はじめての人のMySQLー最新のバー

MySQLとは

「リレーショナルデータベース管理システム」(テーブルと呼ばれる表形式の構造でデータを管理するモデルのデータ管理システム)のことで、日本を含め世界中で利用されています。名前の由来は、共同設立者のMichael Wideniusの娘の名前「My」とSQL(Structured Query Language )を組み合わせたものです。人気の理由には、以下の特徴が挙げられます。

○オープンソースのソフトウェア

データベース管理システムは、高機能なものは、有料なものが多くあります。しかし、MySQLはインターネットに無料で公開されていますので、コストを抑えて導入出来ます。

○高速な検索機能

検索処理に優れ、ユーザーのアクセスが多い、大規模なWebサイトやアプリケーションに対応出来ます。

○高い拡張性と柔軟性

アプリケーションの規模が小さなものから大きなものまで、使用可能です。
更に、動作環境もWindows、Mac、Linuxなど幅広く対応しています。オリジナル機能を追加することにより、自由にカスタマイズも可能です。

○ストレージエンジン

「ストレージエンジン」とは、データベースを作成、更新、削除など基本的な操作を行う為の中心機能です。
MySQLは、アプリケーションの用途に応じて、ストレージエンジンの種類を選ぶことが出来ます。

○高い信頼性

バックアップやリカバリー機能など、何かあった時の為に大事なデータを守ることが出来ます。

○トランザクション

「トランザクション」とは、データの一貫性を保つ為に、一連の処理が終了するまでデータを変更しないように出来る機能です。
業務途中、アクシデントがあった際に一連の処理を全て破棄し、相違が無いようにすることが出来ますので、金融機関のお金のやり取りの様なデータに相違があってはならない状況で、よく使用されます。

○強固なセキュリティ

データを確実に保護する為の機能があり、データベースへのアクセス制御、安全な接続を保証する「SSH」や「SSL」といったセキュリティ技術をサポートしています。
他にも、第三者によってデータが勝手に見られないように、強力なデータ暗号機能も備わっています。

MySQLは何に使われるのか

MySQLは、様々なWebサイトやアプリケーションのデータベースに活用されています。(例)「YouTube」、「クックパッド」、「Twitter」等
そもそも、データベースとは、「複数で利用、共有すること」と「検索、加工すること」を目的に整理されたデータの集まりのことです。データを収集し、情報として整理し、活用しやすくするのが役割です。しかし、データベースは自動で追加、更新、削除は行なえませんので、人間がそれらを行う必要があります。
ただ、人間の行うことなので、誤って入力データを重複してしまう時もあります。そこで、データベース管理システムに、それを指摘してもらい、ミスの発生を防ぐのです。
データの重複を避け、検索効率を上げることで、様々な検索条件やデータ操作を論理的に操作を行えるようになっています。
このデータの重複防止と高い検索能力がMySQLの強みです。

MySQLの最新バージョン

現在、最新のバージョンは「version8.0」です。前バージョンの「version5.7」に比べ、約2倍の性能向上がみられるそうです。(オラクル社発表によると)
その機能を6つほど紹介していきます。

追加された機能

・MySQLシステムデータベースのテーブルのinnoDB化
以前のバージョンまでは、テーブルに「MyISAMストレージエンジン」(リカバリー機能なし)がまだ一部(権限テーブル)に用いられていました。しかし、最新のバージョンは、「innoDB」(リカバリー機能あり)に切り替わりました。これにより、クラッシュ耐性が向上しました。
・ロールのサポート
ロールとは、権限のセットに名前を付けたものです。複数のユーザーに同じ権限の組み合わせを付与したい時は、その内容で作成したロールを付与すれば良いので、1から用意する必要が無くなります。
・デフォルトの文字コードに「utf8mb4」を採用

絵文字なども含め、Unicodeで定義された文字を全て使用出来るようになりました。
・SQLの改善(Window関数、降順インデックスなど)
計算の実行結果を各行にまとめて表示、まとめる結果範囲を指定出来るので、「集約関数」よりも柔軟な利用が出来ます。ただし、巨大なデータを分析する場合は、Window関数よりは、集約関数の方が向いています。
・JSONの扱いに関する改良(JSONの拡張構文、部分更新など)
スキーマ(データベースの構造を意味します。例にすると、データベースは図書館、スキーマは本棚です)を持たないJSONデータにも対応出来るようになり、トランザクション処理をサポート、リレーショナルデータとJSONドキュメントを1つのデータベースで扱えるようになりました。
・GIS(地理情報システム)のサポート

地理情報に対応し、空間データ型や空間インデックスなどを扱えるようになりました。これにより、地点間の距離計算が行えます。

まとめ

MySQLは、実際の仕事現場でも多く利用されているもので、サーバを構築する際に費用が大幅にカットできます。Web開発でも、データ管理システムは必ずと言ってもいいほど利用されるものなので、MySQLが企業の発展に大きく貢献しているのは間違いありません。MySQLを知識として覚えることは、実際の現場でも活かすことが出来る貴重な資産となりえるでしょう。