|
|
前のページ 1 2 3 次のページ
|
|
実現性は?
|
データベースは非常に大きく、また複雑なソフトウェアです。データベースのコアの部分だけでもソースコードで数10万行の規模になります。しかも、この中のモジュールは大変複雑で深い関係にあります。このような大規模なソフトウェアをゼロから実装するのは大変難しいのです。
しかしながら、データベースにもPostgreSQLやMySQL、Firebirdといったオープンソースのソフトウェアがあります。これらはすべて完全なデータベースであり、必要な機能の多くはすでに実装されているのです。これらを基にすれば、共通の機能をそのまま使用して並列分散データベースが実装できるはずです。
筆者は、実際にPostgreSQLを用いた並列分散データベースの実験を行っています。全体の構成は図5に示す通りです。
図4:スケールアウトしたデータベースのイメージ
図5:PostgreSQLをベースにした並列分散データベース例
前回説明しましたスケールアウトしたデータベースのイメージ(図4)とよく似ていますが、実際にはSQLの文の処理も複数のサーバで並列に実行できるようにするために、これらの間の処理をうまく交通整理して不具合が起こらないような機構や、データベースのリカバリのためのログを集中管理するような機能も付け加えてあります。
PostgreSQLを基にしてどの程度実用に近いものができるかは今後の課題です。興味ある結果が出ることを期待しながら実験を進めています。
|
まとめ
|
第2回と第3回に渡ってデータベースを分割し、サーバの規模が大きくならないようにし、これらを並列に動作させることで全体の効率を上げる可能性について紹介しました。実験結果は今後の機会をいただいて紹介していきます。
|
前のページ 1 2 3 次のページ
|
|
|
|
著者プロフィール
NTTデータ先端技術株式会社 鈴木 幸市
Unixにおける日本語ハンドリング、Oracleの移植、オブジェクトリレーショナルデータベースのエンジンの開発などに携わる。現在、NTTデータ先端技術にてLinux、PostgreSQLなどのオープンソースソフトウェアに関する技術を統括している。著書に「RDBMS解剖学」(翔泳社)、訳書に「オブジェクト指向データベース入門」(共立出版)など。
|
|
|
|