TOP調査レポート> はじめに




オープンソースの適用可能性を示す
オープンソースの適用可能性を示す

第9回:PostgreSQL vs MySQL2つのDBMSを検証する(前編)
著者:イーシステム  芝 国雄   2006/5/24
1   2  3  次のページ
はじめに

   「オープン・ソース・ソフトウェア(OSS)を業務システムで使う」と聞いたときに、すでに、OSSを使ったことのあるユーザであれば、何も違和感を感じないだろう。ところが、今までWindowsしか使ったことのないエンジニアにとっては、まったく未知の世界だ。「無償で使えるソフトウェアを使えるわけがない」とか「製造元の技術支援が受けられないから使いたくない」と思うユーザもいるのではないだろうか(図1)。
OSSに対する認知度 出典:Linuxオープンソース白書2006
図1:OSSに対する認知度
出典:Linuxオープンソース白書2006
(画像をクリックすると別ウィンドウに拡大図を表示します)

   今回はOSSのDBMSについて、業務システムへの可用性を考えてみたい。

   OSSのDBMSにはいくつかあるが、メジャーなのは「PostgreSQL」と「MySQL」の2つだ。


エンタープライズ向けの機能が豊富なPostgreSQL

   まず、前者について紹介しよう。PostgreSQLは、大学の研究プロジェクトから生まれたDBだ。

   1998年のバージョン6.3でダブルバイト対応し、6.4でストアドプロシージャに対応。2001年の7.1で、トランザクションログ機能を追加。翌年のバージョン7.2で、ロックをかけずにVACUUMできる機能を搭載。2005年11月には、最新版のバージョン8.1がリリースされた。


バージョン8.1の新機能

   ここでは、バージョン8.1の改善点と新機能を紹介する。バージョン8.1では、いくつかの機能で処理速度の向上をはかっている。その1つに、「ビットマップインデックススキャン」と呼ばれる機能がある。

   例えば、図2のようにアンケートの結果データが格納されたテーブルがあるとする。この大量のデータの中から、「アンケートのQ1にYes、Q2にA、Q3に1と答えた東京都に住む女性」といった、検索条件でデータを抽出する際に効果を発揮する。

PostgreSQL8.1のビットマップインデックススキャンが効果を発揮するケース
図2:PostgreSQL8.1のビットマップインデックススキャンが効果を発揮するケース
(画像をクリックすると別ウィンドウに拡大図を表示します)

   こうしたアンケートの場合、回答の選択肢がそれほど多くないので格納されるデータは限られている。さらに、その中から1つを検索条件の値として指定し、さらにそれが複数個ある場合に有効な機能といえる。

   また、データの更新量を監視し、適切なタイミングでVACUUMを実行する自動VACUUM機能が追加されている。

   PostgreSQLは、追記式の記憶管理を採用している。データを更新する場合、元のデータは残したままデータを追記する。同様に削除の場合は、物理的にデータを削除するのではなく、削除フラグを立てるという論理削除方式を採っているのだ。そのため、VACUUMというガーベジコレクションコマンドを定期的に実行する必要がある。

   この仕様上、頻繁にデータの追加や更新、削除を繰り返すとDBファイルの中に無駄な領域が増え処理速度が低下してしまう。そこで、VACUUMコマンドを実行するわけだ。バッチ処理などの直前にこのコマンドを実行するかどうかで、処理が完了するまでの時間が大幅に変わることも少なくない。

1   2  3  次のページ

月刊ソリューションIT 書籍紹介
月刊ソリューションIT

本記事はリックテレコムより発刊されている「月刊ソリューションIT」から抜粋し、加筆、修正を行ったものです。本記事以外にも、ITを使って企業を進化させるための記事が多数掲載されています。ご購読は下記のリンクより行えます。

発行:リックテレコム  価格:年間購読料 12,234円/一部定価 1,224円

 ご購入はこちら
http://www.ric.co.jp/sol/
イーシステム株式会社 芝 国雄
著者プロフィール
イーシステム株式会社  芝 国雄
グプタ事業部 部長
95年、日本グプタ(現イーシステム)入社。米グプタ社製品の統合開発ツールの「Team Developer」、RDBMSの「SQLBase」といった製品の日本語化をはじめ技術支援や販売、マーケティング業務に従事。主に、ユーザ企業のシステム開発の現場で、システムの設計に関わる事前調査や助言などの上流工程から、プログラミング時のトラブルシューティングまで、幅広く支援していた。2000年4月、携帯電話を活用したワイヤレスソリューション事業の立ち上げに従事。2001年、グプタ事業に専念し、現在に至る。

この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第9回:PostgreSQL vs MySQL2つのDBMSを検証する(前編)
はじめに
  バージョンアップにともなう変化
  バージョン5.0では機能が豊富
オープンソースの適用可能性を示す
第1回 ユーザ企業におけるOSS浸透のカギはメインフレーム世代のSE
第2回 DB管理ツールを例にOSSの現在の実力を診断する
第3回 OSSはビジネスになるのか?「魔法のお鍋」を読み直す その1
第4回 OSSはビジネスになるのか?「魔法のお鍋」を読み直す その2
第5回 OSSはビジネスになるのか?「魔法のお鍋」を読み直す その3
第6回 OSSはビジネスになるのか?「魔法のお鍋」を読み直す その4
第7回 PostgreSQLを使い切るためのノウハウを徹底解説する その1
第8回 PostgreSQLを使い切るためのノウハウを徹底解説する その2
第9回 PostgreSQL vs MySQL2つのDBMSを検証する(前編)
第10回 PostgreSQL vs MySQL2つのDBMSを検証する(後編)
第11回 OSSのプロがいなくても大丈夫!必要なソフトの情報はこうして探す(前編)
第12回 OSSのプロがいなくても大丈夫!必要なソフトの情報はこうして探す(後編)
第13回 クライアントのOSとしてLinuxを検証する
第14回 バッファオーバーフローとサーバ側のセキュリティ対策を考える