TOPシステムトレンド> 最近の動き「オープンソースデータベース」
近未来データベース
近未来データベース

第5回:データベース技術者を育むために
著者:NTTデータ先端技術  鈴木 幸市   2005/9/22
前のページ  1  2   3  次のページ
最近の動き「オープンソースデータベース」

   近年のオープンソースの流れは、OS、Web関連のミドルウェアだけでなく、リレーショナルデータベースでも見られるようになってきました。それぞれのライセンス条件などは微妙に異なっていますが、ソースコードが公開されたデータベースエンジンがいくつか出現してきています。

   これらの中には、一般に公開された開発コミュニティが存在し、誰でも(能力に応じて)これらのコードの開発、試験、検証に参加できるようになっています。これらのデータベースの比較例は、以下のURLに掲載されています。

Open Source Database Software Comparison
http://www.geocities.com/mailsoftware42/db/

   この主要な部分も合わせ、これらのリレーショナルデータベースの概要を表1に示します。

主なオープンソースデータベース
表1:主なオープンソースデータベース
(画像をクリックすると別ウィンドウに拡大表示します)

   これらのデータベースは、大学でのプロトタイプや商用製品が元になったものが多く、それぞれ大変長い時間をかけて成熟されてきています。10年、15年という長い期間が必要なのです。

   オープンソースデータベースの開発コミュニティには、日本からの参加者も徐々に増えてきており、重要な機能が日本のメンバーから提案、実装されるようにもなってきました。例えば日本PostgreSQLユーザ会には「PostgreSQLのしくみ分科会」があり、PostgreSQLの内部構造の調査なども行われるようになっています。


オープンソースデータベースの意義

   Linuxをはじめとして多くの分野でオープンソースソフトウェアが存在し、実用にも試されるようになってきました。これらの意義は、商用ライセンス費用がかからない以外にもたくさんあります。

   ソースコードが公開されているので、内部の処理が(解読可能であれば)すべて理解できることです。昨今、データの漏洩が問題になり、データの安全性が問われています。

   特にデータベースは重要なデータを安全確実に蓄積してユーザに提供しなければならないので、内部処理がきちんと公開されていることはデータの安全性を担保し、何が起こったのかをきちんと説明するために重要です。

   説明した内容を納得してもらうには、内部構造のすべてが公開されていることが重要です。そのうえで、用途に応じてコードの改変ができることも重要かもしれませんが、現実には公開されているコードを勝手に改変しても、その維持管理に多大なコストがかかってしまうので、開発コミュニティを介して行う方が実際的です。この場合には自分の都合だけを通すことはできないので、コードの勝手な改変はそれなりのリスクがあると考えるべきでしょう。


リレーショナルデータベースのソースコードと技術範囲

   現在私たちは、オープンソースのDBMSが多く出現したため、ソースコードが自由に読めるというすばらしい環境にあります。これらのソースコードから、データベースの内部構造を習得し、開発コミュニティの一員としてデータベースエンジンをよりよいものにしていくことができるのです。

   一方、これらのデータベースは実用に供することを目的としているため、ソースコードの解読へのバリアは比較的高くなっています。主要なオープンソースのソースコード(試験用プログラムや純粋のアプリケーションを除く)は60万行から300万行にもなります。これらのソースコードでカバーしている主な技術領域を表2に示します。

リレーショナルデータベースエンジンで使われる要素技術例
表2:リレーショナルデータベースエンジンで使われる要素技術例
(画像をクリックすると別ウィンドウに拡大表示します)

   CPUや磁気ディスクの特性といったハードウェア技術から、マルチプロセス/マルチスレッドプログラミング、トランザクション、低レベルのカーネル利用技術などをはじめ、非常に広範囲なコンピュータ科学の知識が求められていることがわかると思います。

   第1回目でも述べたように、リレーショナルに限らずデータベースではディスクをはじめとする外部記憶装置との間でのデータのやり取りが基本で、かつこれはコンピュータの内部にあるキャッシュメモリや主メモリに比べて大変遅い(1万倍から100万倍遅い)のです。ここをいかにうまく作るかが重要なのです。

前のページ  1  2   3  次のページ


NTTデータ先端技術株式会社 鈴木 幸市
著者プロフィール
NTTデータ先端技術株式会社  鈴木 幸市
Unixにおける日本語ハンドリング、Oracleの移植、オブジェクトリレーショナルデータベースのエンジンの開発などに携わる。現在、NTTデータ先端技術にてLinux、PostgreSQLなどのオープンソースソフトウェアに関する技術を統括している。著書に「RDBMS解剖学」(翔泳社)、訳書に「オブジェクト指向データベース入門」(共立出版)など。


INDEX
第5回:データベース技術者を育むために
  はじめに
最近の動き「オープンソースデータベース」
  効率よくデータベースの内部構造を学ぶために