|
||||||||||||
| 前のページ 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 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||



