Technology

テクノロジー

新たな Web システムの OS は Linux、さて DB は?

平野正信
2007年3月15日 / 09:00
 
 
■Oracle の先制パンチをうまく切り抜けた Red Hat

昨年10月下旬に、 「Oracle が Red Hat 製品にも自社製品と同等のサポートを行う」と発表、 その約1週間後には「Microsoft と Novell が提携」するというニュースが流れた。 前回のコラムでは、この2つの出来事が連続して起こったのは偶然ではなく、「モードが変わったのだ。きわめて新しい流れができつつある」と予測したが、やはりその動きは止まっていない。

Oracle と Novell の2つの企業の動きが示唆するものは、インフラプラットフォームとしての Linux システムのコストが、いわゆるエコシステム化、あるいはコモディティ化で押し下げられる可能性だ。システムのコスト低減に関する期待感は、IT システムの関係者の間ではずっと持続している。

これは、Microsoft についても同様のことが言える。Microsoft の Novell との提携は Linux の戦略的な使用であって、Microsoft が Novell SUSE のディストリビュータになるという契約ではない。Microsoft ではクーポンという言い方をしているが、この Linux クーポンを Microsoft が配布できる状況になったのだ。

クーポンの価格は、想像するにオープンプライスということであろう。しかし、仕入れ価格は大体検討がつくので、直ちに劇的に安くなることはないだろう。それでも、時間がたてばたつほどクーポンの販売価格は安くなる可能性がある。

あるいは、Microsoft が戦略的なパートナーに対してサービスと一緒に配布した場合、配布価格が多少高くても、エコシステムがうまく機能していれば、結果的には利益が上がるので、顧客にとっては安い買い物になる。

ところで昨年の発表以来、Oracle は沈黙モードに入っている。気の早い人は、Oracle はなかなか行動に移さないのではないか、と噂している。Oracle CEO のLarry Ellison がいくら叫んでも、現実にはそう簡単にいかないのではないか、という指摘だ。

実際に、一時期急落した Red Hat の株価は回復してきた。それどころか、急落前の株価を超えていることもあり、短期的な影響はなくなったように見える。

Oracle の先制パンチはさほど効いていないようだ。 これはなぜか。

1つは、Oracle が、周りが予想したほど積極的には Linux サポートを展開していない、ということだろう。もう1つは、その直後に発表した Red Hat 自体の業績が非常によかったからだろう。

しかし、Oracle も Microsoft も、彼らの Linux 戦略を止めたわけではないし、市場にはシステムの低価格化がより進むという期待感がまだ残っている。また、Red Hat がその後、非常に強い危機感を抱いているのも事実だ。その危機感が Red Hat の業績にもいい影響を与えるのかもしれない。

■オープンソース DB の活発な動き

最近になってまた、2つの事件が連続して起きた。今度は DB にまつわるものだ。

まず MySQL だ。

MySQL は、日本では PostgreSQL などに先を越されて、世界的には知名度も浸透度もずっと高いにもかかわらず、日本では影が薄いと言われてきた。2年ほど前に日本市場に進出し、2006年2月に日本法人 MySQL K.K.(Japan)を設立、社長にMySQL 本社のシニア VP ナンバー2 Larry Stefonic 氏が就任したが、 その割には鳴かず飛ばずだったとも言える。

そうしたこともあり、つい先日、Larry Stefonic 氏が日本に着任した、というのだ。 MySQL Japan のためにわざわざ本国からやってきて日本に住むのだという。日本に市場があると見たからだろう。

企業としての MySQL は、さまざまなビジネスを始めており、ユーザーが GPL ライセンスと商用ライセンスの両方を使えるようにしている。オープンソースでの提供と商用でのクローズドの提供、このデュアルライセンスあるいはミックスドソースのために、MySQL AB という会社は作られた。

ミックスドソースという考え方をする企業はほかにもある。Novell もそうだし、その他のオープンソースカンパニーもそうだ。ソフトウェア業界のためにはそういう考え方も必要なのではないか。

話を戻すと、MySQL の Larry Stefonic 氏日本着任と機を同じくして、 Ingres が独立してビジネスを始める、という話が最近出てきた。公式のアナウンスはないが、準備は進んでいるようだ。

一般の認識では、 Ingres というのは CA(Computer Associates)の一部門となっており、CA によって2、3年前にIngres自体はオープンソース化された。

ここで思い出してほしいのは、PostgreSQL の由来だ。「Postgres」とは「Post Ingres」だ。 Ingress のオープンソース版が PostgreSQL だが、本家の Ingres 自体がオープンソース化され、さらに独立してビジネスを開始するというのだ。

これはワールドワイドでのことだが、当然日本でも同時展開すると言われている。

どちらも今年に入って、立て続けに起こった話だ。

■共通項はエコシステム

これらの共通項かは何か。それはエコシステムだ。 Oracle の Linux サポートでも、Microsoft の Linux クーポンでも、Linux の価格が問題ではなくて、システム構築全体のコストを下げることが目的なのだ。ソリューション全体においては Linux の占める割合は小さいから、そこをまず支援します、ということだ。

同様に DB に関しても、MySQL や Ingres などのオープンソース系の DB を使ってエコシステム化したほうがいいのではないか、という流れが起きつつあるのではないか。なんだかんだ言っても DB だけはなぜか相変わらず Oracle の独壇場の感があり、IBM の DB2 でさえ、Oracle の牙城を思惑どおりに崩すことはできないでいる。

MySQL などのオープンソース DB と Oracle との最大の違いと言えるのは、オープンソース DB はコンポーネント化できる、と言う点だ。Oracle はプロプライエトリなパッケージなので、分解すると言っても容易にはできない。ほんの一部しか使用しないのであっても、通常はパッケージを丸ごと購入しなければならないので、コスト高になる。

ところがオープンソースの MySQL や Ingres は、必要な部分だけ切り出せる。実はそういう使い方をしている企業ユーザーが増えている。一番いい例は Google だ。Google がやりたいのは SQL 文を使った検索機能ではない。B-tree のレベルまで落とし、 ISAM(Indexed Sequential Access Method)を使って超巨大 DB を瞬時に検索することだ。Google は MySQL を使ってはいるが、それを MySQL とは呼びづらいかもしれない。聞くところによると、ほとんどの場合、MySQL の B-tree の部分しか使っていないらしい。

ここで少し DB の話をしよう。単純に言うと、すべての DB の基本は 検索だ。一般に普及している検索方法の基本がB-tree と呼ばれるものだ。木構造やデータ構造によって、単純なBinary Treeから発展して現在Oracleなどでも採用されているBalanced Treeアルゴリズムが、B-treeと呼ばれているようだ。

1960年代にはB-treeは考案されており、Netware でも採用された。そしてNetware の特徴はとにかく検索が速いということだった。つまり速い部分は、実は、昔も今も変わっていない。Informix や Oracle の DB エンジンも、最終的には B-treeに行き着く。

どんな DB でも、内部のデータにはインデックスがついている。B-tree の基本は、Binary Tree、すなわち二者択一ということだ。データの頭にインデックスファイルを作っておき、インデックスを使って、二者択一でデータを絞り込む方法が Binary Treeだ。これが検索方法としては一番シンプルでしかも速い。

たとえば、Informixでは1990年代までは、そこだけを切り出し、Informix ISAM などの商品名で販売されていたこともあり、昔は、Informix ISAM だけください、という買い方ができた。今はInformixに限らず、そういう販売形態はなくなったようだ。

RDBのいわれとなっている、リレーションは数学用語だ。これを Edgar Frank "Ted" Codd という情報工学者が DB の関係モデル(Relational Model)に応用し、それをコマーシャルカンパニーが実装した。SQL はそのための検索ツールであり言語でもある。リレーションとSQLを組み合わせた RDBMS が瞬く間に隆盛を極めて、今では RDB でない DB は DB ではないというまでの状況となってしまった。

■Google がほしいのは B-tree だけ

さて、B-tree だけでいい、というのが Google だが、一般ユーザーに求める Google の検索方法には SQL の色はまったくない。SQL は IT のプロが使うもので join とか union とか数学的なリレーションの知識がないと使えない。Google の検索のための窓は、そこにユーザーがキーワードを書くだけである。すると、ちゃんと検索してくれる。キーワードと返ってくる結果の間を結ぶものに SQL が使われていようとなかろうと、ユーザーにはどうでもいいことだ。Google の検索エンジンとは、すなわち、B-tree とユーザーの入力するキーワードをつなぐための仕組みだったのである。

ところで、これまでの Oracle DB に対抗するのは、MySQL や PostgreSQL のようなオープンソース系の DB と言われてきたが、Microsoft の本当の敵が Google であるのと同様のことが、実は Oracle にも言える。つまり本当の敵は、DB2、MySQL や PostgreSQL ではないかもしれないのだ。Oracle はエンタープライズ DB としては生き残れるが、組み込み系の DB として Oracle を思い浮かべる人は少ない。

Google の例でも、Web コンテンツをどう分析し、検索するかというときに、Oracle でなくてもいいはずだ。SQL も必ずしも必要ない。RDBMS を無理に使わないということでもないが、検索のスピードやコストパフォーマンスを考えると、B-tree のようなアルゴリズム自体に重きを置くのは当然であろう。つまりWebのインフラを構築するDBの役割を考えると、そのような研究や実装のためには、オープンソース化された RDBMS は有望である。好きなところだけを取り出し、手を加えることができるのだから。

記事提供:Novell
【関連記事】
エンタープライズ Linux の現状――3
GPLv3、次のドラフトは Microsoft/Novell 提携を意識した内容に
Novell と Microsoft、技術協力の詳細を発表
米 Novell、Linux でヨーロッパ自動車メーカー大手と複数年にわたる大型契約
Microsoft との相互運用性を目指す Novell の『Bandit』

New Topics

Special Ad

ウマいもの情報てんこ盛り「えん食べ」
ウマいもの情報てんこ盛り「えん食べ」 「えん食べ」は、エンジョイして食べる、エンターテイメントとして食べものを楽しむための、ニュース、コラム、レシピ、動画などを提供します。 てんこ盛りをエンジョイするのは こちらから

Hot Topics

IT Job

Interviews / Specials

Popular

Access Ranking

Partner Sites