医療システムを席巻するFirebird!
便利なFirebirdの機能
4つ目がトリガー、ストアドプロシージャなどのアクティブデータベース機能です。テーブルやデータベースに対してINSERT、DELETE、UPDATE処理を行うタイミングで何らかのデータ処理を実現できるトリガー機能や、サーバサイドでデータ処理を実現できるストアドプロシージャ機能を用意しています。
なおFirebirdではクライアントサイドのデータ処理を軽減するためにサーバサイドのプログラミング機能としてSQL文ベースのDSQL(Dynamic SQL)が提供されています。
5つ目がマルチ言語をサポート(列ごとに言語を選択可能)していることです。Firebirdではデータベース、テーブルだけでなく、列ごとにキャラクターセットを設定することができます。一般のデータベースではなかなか管理できない多国語データの管理を同一のテーブル内で行うことができます。
6つ目がデータベースの信頼性を高める機能として、データベースのミラーを作成するシャドウデータベースという機能があることです。シャドウを設定するSQL文を実行することでシャドウデータベースを作成することができます。この機能を利用することでRAIDなどを使用することなくシステムの信頼性を高めることができます。
マスターデータベースとシャドウデータベースへの書き込みはFirebirdのサーバープロセスによって自動的に行われます。Firebirdには自動ツーフェーズコミットという機能があり、アクティブのトランザクションが複数のデータベースにまたがる場合、Firebirdが自動的にツーフェーズコミットモードに入り、複数のデータベースの一貫性を保ちます。
こちらの機能を利用するために特別のコードや設定を行う必要はありません。この機能はシャドウデータベースへの書き込み時にも使用され、ツーフェーズコミットを利用することにより、マスターデータベースとシャドウデータベースの一貫性を保つことができるようになっています。
7つ目がシングルデータベースファイルであることです。MySQLやPostgreSQLの場合では、特定のディレクトリ配下に複数のデータベースファイルがありますが、Firebirdの場合はデータベースファイルは1つのファイルになります。
このデータベースファイルにデータもスキーマもインデックスも、そしてサーバ側で実行されるトリガーやストアドプロシージャも含まれています。このようなシングルデータベースファイルの利用により、簡単にデータベースファイルのバックアップを取ることができるようになっており、同一バージョンであればプラットフォームの違いはありません。
もちろん、シングルデータベースファイルのままではOSのファイルシステムのサイズ制限がデータベースのサイズ制限となってしまうため、2次ファイルを作成することで分割することも可能になっています。
8つ目がオンラインバックアップ機能です。通常、リレーショナルデータベースはオンラインバックアップ機能を製品自体では提供しないことが一般的です。Firebirdは履歴型アーキテクチャを採用しているため、データの閲覧で読みとりロックが発生しないため、簡単にオンラインでバックアップを取ることができます。NBackupというバックアップツールで簡単にオンラインバックアップを取ることができるだけでなく、差分バックアップも可能になっています。
このほかにもFirebirdはさまざまな機能を提供しています。Firebirdはインストールも簡単で非常にメモリ効率に優れたデータベースで、使っていきながら機能を覚えていくことができることも特徴の1つでしょう。
多彩なミドルウエアのサポート
Firebirdの特徴としてもう1つ外せないのが非常に多彩なミドルウエアをサポートしている点です。Firebirdにはタイプ4のJDBCドライバであるJaybirdや最新の.Net環境をサポートしたIBProviderなど非常に多くのアプリケーションインタフェースに対応しています。Ruby、PHP、Perlなどのスクリプト言語のサポートも充実しています。InterBase時代からサポートされているDelphi、C++Builder用のコンポーネントも用意されています。
JaybirdやIBProviderはクライアントライブラリを利用しないワイヤプロトコルに対応しているため、シンクライアントやスマートフォンからの利用も可能になっています。
このほか、アプリケーションインタフェースだけでなく、Windows/Linuxのマルチプラットフォーム環境のGUI管理ツールであるFlameRobinやトラブルシューティングツールであるIBBackupSurgeonなど数多くの無償・有償を問わずツールが存在しており、Firebirdを使った開発から運用まで幅広くサポートしています。
これらの数多くのツールの存在により、Firebirdは業務ソフトウェアの組み込みエンジンから、非常に大規模な環境までさまざまに利用されています。
駆け足になりましたが、医療機関で使われているFirebirdの特徴について紹介しました。興味を持った方はぜひダウンロードして、その軽快な使い心地をお試しください。