ミクシィ、楽天が採用するRDBMSの進化形
MySQL ABのディレクターが明かす「MySQL 5.1」の魅力
オープンソースソフトウェアのRDBMS導入に抵抗感を持つ企業は依然として多いが、機能的には着実に商用製品に近づきつつある。ここでは、Web系企業の業界標準となってきたMySQLの最新バージョンの魅力を紹介する。
企業システムにおけるオープンソースソフトウェア(以下、OSS)の活用が叫ばれて久しい。一部では大規模な基幹システムへの採用事例もあるが、全般的に導入は進んでいない。特に、企業システムのエンジンとなるRDBMSとなると商用製品がほとんどである。
しかし、ミクシィや楽天をはじめとするWeb系企業の多くでは、RDBMSを含めOSSを中心にシステムが構築されている。せっかくの公共財である。一般企業においても利用できる場面がないか、いま一度目を向けてみてはどうだろう。そこで注目したいのが、Web系企業ではRDBMSの業界標準となってきたMySQLである。
処理性能こそ高いが、商用製品に比べると機能的に劣るとされてきたMySQLだが、ここにきて急速にキャッチアップしようとしている。2008年に登場予定の最新バージョン「MySQL 5.1」ではその機能差が改善される見込みで、データウェアハウス(以下、DWH)としての可能性も示唆している。OSSながら、エンタープライズを指向するRDBMSともいえるだろう。
機能面での見劣りを克服し始めたMySQL
RDBMSのMySQLは、いわゆるLAMP(Linux、Apche、MySQL、PHP/Perl/Python)構成の一部としてWebシステムに採用されるケースが増えている。日本では、同じOSSのRDBMSでもPostgreSQLの方が普及しているといわれるが、ミクシィ、楽天といった国内の有力なWeb系企業がMySQLを採用するなど、注目度が増している(2007年9月12日掲載の「mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法」参照)。
コンシューマー系のWebシステムは、トラフィックの大部分が参照系だ。MySQLがWebシステムで多用されてきたのは、OSSという点に加え、この参照系の性能が比較的優れているためだ。また、こうしたWebシステムのアプリケーション開発で使われるPHP、Perl、Rubyなどの軽量な言語との相性の良さも採用に拍車を掛けている。
ユーザーがMySQLを導入する選択肢としては、新機能の実装を重視した「MySQL Community Server」と安定性を重視した「MySQL Enterprise Server」の2つがある(SIer向けにはOEM版が別途用意されている)。MySQL Community Serverのソースコード、バイナリはともにGPL(GNU General Public License)で配布されているが、MySQL Enterprise Serverでバイナリを得るには、年間保守やツールをパックにした「MySQL Enterprise」を購入する必要がある。
確かにMySQLは従来、OracleやMicrosoft SQL Serverなどの商用RDBMSと比べ、信頼性や拡張性、操作性などで見劣りする面があった。そのため、Web系ではない一般企業にとっては少し縁遠い存在だったかもしれない。しかしそれも、2008年に登場予定の「MySQL 5.1」で随分と変わる可能性がある。
ブライアン・エイカー氏
MySQLの開発元であるMySQL ABでアーキテクチャ・ディレクターを務めるブライアン・エイカー氏は、次のように話す。「ミクシィや楽天のようなWeb系企業は、『スター・ウォーズ』の“ジェダイ”のようなもの。自らの武器となるライトセーバーを自分の力でビルドします。たとえMySQLの機能が不足していてもレベルの高い技術者を多く抱えているため、アプリケーションへの機能実装やほかのオープンソースコンポーネントとの組み合わせでカバーしてしまうのです。また、彼らはそうした開発スタイルを好んでいるとも思います。ただ、そうではない一般の企業にも使ってもらえるよう、MySQLは機能を拡張し続けているのです」
パーティショニングでよりDWHに適応
MySQLは、2005年10月に安定版がリリースされた現行の「5.0」からストアドプロシージャやトリガに対応。SQLのサポートでは商用のRDBMSにかなり近づいたといえる。製品候補版が2007年9月にリリースされ、2008年に安定版が登場する見通しのMySQL 5.1では、一層機能を充実させてくる。その目玉となるのが、「パーティショニング」機能の搭載である。
パーティショニングとは、1つのテーブルを列値や行値の条件で論理的に区分けして管理することだ(※1)。つまり、データ全体ではなく、細かくパーティショニングされたテーブルを対象にクエリを実行するため応答速度が速い。膨大なレコードを持つテーブルも意に介さないというわけだ。
※1 MySQL 5.1では、カラム値によってテーブルを行単位で区分けする「水平パーティショニング」のみに対応。Range/List/Hash/Keyという4つの関数タイプで区分けできる。
OracleやMicrosoft SQL Serverなどは従来よりパーティショニング機能をサポートしており、MySQLもそれに追い付いた格好になる。エイカー氏は、「MySQLは従来、(処理能力を高める方法として)廉価なマシンを連ねるスケールアウトを提唱してきました。しかし、5.1からはパーティショニング機能の追加によりスケールアップも可能で、最新マシンのスペックを存分に生かせるのです」と話す。
現行のMySQL 5.0では、データ量の増大でDBサーバの応答性能が悪化した場合、元のテーブルを期間やユーザーIDなどの値で分割し、それらを複数のDBに分散させるスケールアウトが一般的だ。ただ、分散するDBを制御するアプリケーション側に複雑なロジックを実装しなければならず、加えてDB構成の変更が常にアプリケーションへ影響する点が厄介だ。
その点、MySQL 5.1のパーティショニング機能は、アプリケーションに手を入れることなく1つのDB内でテーブルを分割できるため、同じマシンを使っていてもおのずと応答性能が向上する。つまり、データ量が増えてもパーティションのチューニング(追加・再分・統合)、あるいはCPUやメモリの増強によるスケールアップで対処できるのだ。
開発・保守が容易なパーティショニングによる拡張性の確保は、ジェダイたるWeb系企業よりも一般企業のシステムに向いている。エイカー氏は、「1つのDBに複数のストレージエンジンを搭載できるMySQLは(※2)は、一般企業においてデータ分析によく利用されています。しかし、パーティショニング機能の搭載により、大規模なDWHとしても使われていくと見ています」と今後を予想する。
※2 ストレージエンジンとは、ディスクへ実アクセスを伴うデータ処理を担うモジュール。MySQLでは標準で「MyISAM」「InnoDB」などが用意されているほか、サードパーティ製品も追加できる。ストレージエンジンごとに得意な処理形態があり、テーブル(アプリケーション)ごと割り当てられる。
テーブルサイズが大きいDWHでは、レコード件数が何百万件、何千万件となり、汎用的なRDBMSをDBエンジンに適用するのは難しいとされる。だがそこは、もともと参照系の処理性能に定評のあるMySQL。パーティショニング機能の追加により、どれほどの規模のDWHにまで対応できるのか。今後登場してくるであろう各種の検証・導入リポートが待ち望まれるところだ。
ディスクベース対応で信頼性が増したクラスタ機能
MySQL 5.1でもう1つ注目したいのが、DBサーバの可用性を高めるクラスタリング機能「MySQL Cluster」の機能強化である。
MySQL Clusterの仕組みは複雑なため詳細は下図を参照してほしいが、要はアクティブ・アクティブのクラスタ構成により、負荷分散と高可用性を同時に満たしている。大きな特徴としては、テーブルおよびインデックスをディスクよりも高速なメモリ内に搭載する「インメモリ型」という点だ。そして通常は、秒単位で更新ログ、分単位でデータイメージをディスクへ保存する。
ただ、メモリ内のデータは電源が切れると揮発するため、仮に全ノードが一斉停止した場合、ディスクに更新ログが保存されていないデータは消失してしまう。可用性(データ保護)という面では多少の不安があるとともに、大容量のメモリを搭載しなければならないのも難点といえば難点である。
それがMySQL 5.1からは、ディスク内のデータをベースにしたクラスタ構成が可能となった。エイカー氏は、「もともとMySQL Clusterは通信業界向けに開発されたものです。(高可用性と性能という意味では)性能をより重視してきましたが、一般企業ではそこまでの性能は必要なく、(可用性がより高くメモリ容量も少なくて済む)ディスクベースの方がふさわしいと思います」と、ユーザー層を広げるための機能強化であることを強調する。
また、ディスクベースといってもインデックスは従来通りメモリ内に保存。アクセスの多いテーブルはインメモリ型も選べるので、ディスクの入出力を減らすようチューニングできる。「実際はインメモリ型とディスクベースのハイブリッドなので性能はそれほど落ちないはずです」とエイカー氏は話す。
OracleやMicrosoft SQL Serverにもクラスタリング機能はあるが、最上位版でしか使えない。また、信頼性(価格)の高い共有ディスクやクラスタリングソフトが別途必要になるなど制約も多い。その点、MySQLは標準提供されるストレージエンジン「NDB Cluster」を適用するだけでよい。コスト的にはかなり優位である。なお、MySQL 5.1からはクラスタ間のレプリケーション機能にも対応する予定で、遠隔サイトを利用した災害対策にも使えそうだ。
以上、MySQL 5.1に搭載される代表的な新機能のごく一部を紹介したが、このほかにもスケジュール登録をした各種クエリを自動実行する「イベントスケジューラ」、マスタ・スレーブ間のデータ同期をSQLベースではなく物理データ(値)で行う「行ベースレプリケーション」など、操作性、信頼性を高める多くの新機能が搭載される見込みだ。
確かに、一般企業ではオープンソースのRDBMSを採用することに抵抗感があるかもしれない。しかし、機能面では商用のRDBMSに近づきつつある。オープンソース製品でネックとなるサポート面も、MySQL ABの日本法人設立により安心感が出てきた。同法人は現在、2人のサポートエンジニアを抱え、2008年より日本語でのヘルプデスクも設置する予定だ(現在は英語のみのサポート)。
「いきなり既存のRDBMSを置き換えるのではなく、まずは何か新しいアプリケーションを開発する際にMySQLを採用し、その実力を試してほしい」と語るエイカー氏だが、その価値は十分にあるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
5
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
AI導入後に発覚する「社内文書を読めない」問題 情シスは何を直せばいい?
-
8
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
9
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
10
「Wi-Fi」は“ネット接続が不十分”な地域の救世主になるのか?
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
“あのファイル転送”で暗躍するノーウェアランサム
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー