【 ここから本文 】
- TOP
- > Topics : オープンソース
- >
オープンソース
ソーシャルブックマークに登録 :
印刷用ページの表示
オープンソースDBの成熟度を計る[後編]
各製品の長所と短所を知り、採用・導入のシナリオを検討する
(2007年09月20日)
Apache Derby/JavaDB http://db.apache.org/derby/
Javaで構築されたオープンソースDB
最新版:10.2/旧版:10.1
成り立ち
Apache Derbyの起源は、クラウドスケープが1997年にリリースした「JBMS」というDBである。その後、同社はインフォミックス・ソフトウェアに買収され、そのインフォミックスは2001年にIBM傘下となり、JBMSは「IBM Cloudscape」という製品名で販売された。
IBMは2004年、アパッチ・ソフトウェア・ファウンデーションにCloudscapeのソースコードを寄贈する。しばらくはアパッチのインキュベーター・プロジェクトであったが、2005年8月に「Apache Derby」プロジェクトに格上げされ、バージョン10.1.10がリリースされた。その後、バグ・フィックスやマイナーな改善を続け、最新版は10.2となる。
技術・機能の特徴
■XML対応に強いPure Java DB
Apache DerbyはJavaで構築されたRDBMSであり、XML機能(XMLタイプ、XMLPARSE、XMLSERIALIZE、XMLEXISTS、XQUERY)がサポートされている。JDBCはバージョン4で仕様上はXMLが扱えるようになった。Derbyの現行バージョンは、java.sql.SQLXMLをサポートしていないが、今後のサポートが期待できる。
■組み込みとC/Sに両対応
元来、組み込み向けDBであったため、Apache Derbyのサイズは数MBでフットプリントが小さい。バージョン10.1でオープンソースのJDBCネットワーク・ドライバが追加されたことにより、マルチユーザー、マルチコネクション、スレッド・セーフなC/Sモードで動作させることが可能になった。また、10.1ではオンライン・バックアップに対応したが、ライタをブロックするものだった。そこで10.2ではブロックせずにオンライン・バックアップができるように改良された。
■SQL認証モードとDB暗号化を装備
10.2からレガシー認証モードに加え、SQL認証モードが追加された(derby.database.sqlAuthorization=true)。GRANT/REVOKEステートメントが可能になり、DBのモード変更は不可で、ユーザーは自スキーマ上のみでSQLオブジェクトを作成できる。
DBの暗号化機能は10.1から標準で備えている。同バージョンでの暗号化機能はDB作成時のみ利用できたが、10.2からは暗号化がなされていない既存のDBを暗号化することや、すでに暗号化されているDBのキー変更が可能になった。
選ぶ理由と選ばない理由
Apache Derbyを積極的に選ぶ理由としては、Pure Java DBとして、Javaアプリケーションとのスムーズな統合が可能である点がまず挙げられる。なお、Java SE 6より「JavaDB」としてApache Derbyが標準で添付されるようになった。また、インプロセス・ライブラリを利用してのアプリケーションとの連携が可能である点や、今後、XML機能のさらなる拡張が期待できる点もアドバンテージと言える。一方、欠点としては、大規模DBの構築には向かない点と、日本語情報や技術者の数が少ない点が挙げられる。
各製品の長所と短所を知り、採用・導入のシナリオを検討する
















