オルタナティブ・ブログ > クラウド的な世界へ >

企業ITもクラウド的な世界に向かい始めた今日この頃を徒然に‥

なんでもリレーショナルを超えて

»

UNIXマガジンの4月号がクラウドの大特集を組んでいます。全部で12の記事からなり、Google App Engine、Amazon Web Services、Microsoft Azure、Salesforce Force.comといったメジャーなクラウドの特徴的な技術的観点を深く解説しています。正直、分散システムやデータベースの深い知識がないと読みこなせないですが、横断的な貴重な技術解説で保存版にしたい内容ですね。

その中で大きなテーマの一つがデータベースです。クラウドの典型的な実現方法であるスケールアウトの環境では、その規模を一気に増やすには、リレーショナル・データベースのスケーラビリティの課題に遭遇するケースがあります。それに対して4つのクラウドでの、データベースへの設計の考え方がそれぞれ表れているようです。

ざっと眺めてみると、Force.comは現状の企業データと生産性からかあくまでリレーショナル・データベースを採用。Google App Engineのデータストアは、自由度の高いテーブルもどきだがJOINはできない非リレーショナルを提供。Amazon Web Servicesはキーと値のペアをリンクする非リレーショナルのSimpleDBを装備。AzureはJOINが可能なリレーショナルのSQL Data Servicesをもちながら、キーと値の組合せで構成する非リレーショナルのテーブルも準備。といった具合です。

今まで企業アプリケーションであれば、必ずといっていいほどリレーショナル・データベースを使っていたかと思います。しかし、スケーラビリティが究極に必要な世界では、残念ながら正規化しJOINも自由のデータベースではいずれパフォーマンスの限界がくるという現実です。限界がこなくても、リレーショナルはスキーマ定義、正規化、インデックスなど、悩んだり、重かったりすることが多いのも事実です。GoogleやAmazonはそれを実際のサービスで遭遇し、このようなキーと値のペアというようなデータの世界に活路をみいだそうとしているようです。

考えてみれば、リレーショナル・データベースの前には、べたファイル、索引ファイルシステム、階層型データベース、最近ではオブジェクト指向データベース、XMLデータベースといったものまであります。もう20年近くも企業システムではリレーショナルが中心的役割を果たしていますが、古いべたファイルが効率がよかったり、一部では階層型が脈々と使われていたり、新しいXMLデータベースがもてはやされたり、という現実もあります。一方、企業データを扱うからといって盲目的にリレーショナルを使って必ずしもリレーショナルが必要でない、単にキーで値をひいているだけというケースも多々ありそうです。

コンピュータの物理的性質と世の中のデータには常にギャップがあるのは当たり前です。要は、世の中のデータをコンピュータの上で表現するには、そのデータの特徴、求められる要件によって、どのデータのモデルを使うべきかは、まさにITエンジニアの腕の見せ所と言えるでしょう。

クラウドという新しいITインフラの世界で、特に企業データをどうクラウドで扱っていくべきか。なんでもリレーショナルだった時代を超えて、選択と発想がより求められるのがクラウド時代のように思えてきました。

Comment(0)