ミクシィ、楽天が採用する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
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
4
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
5
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
6
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
7
「プログラマー不要論」にThe Linux Foundationが示した答え
-
8
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
9
「高すぎるGPU」を捨てAI推論をCPUへ Armが示す電力とコストの現実解
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー