BT

HyperSQL 2.0 - 5年の開発期間を経た新リリース

| 作者: Josh Long フォローする 5 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2010年6月27日. 推定読書時間: 4 分 |

原文(投稿日:2010/06/18)へのリンク

HyperSQL 2.0 が6月7日にリリースされた。5年以上前に HSQLDB 1.8 が登場して以来,今回が初のリリースになる。HSQLDB 1.8 はこれまでに数多くのツールやフレームワーク,アプリケーションに組み込まれてきた。その中には,Microsoft Access の代替に広く使用されている OpenOffice 3.2 productivity suite組込データベースオプション も含まれている。 HyperSQL は 100% Java で記述されていて,BSD ライセンスの下に提供される。

新バージョンは,既存のどのオープンソースデータベースエンジンよりも多彩な機能を誇る。今回,SQL の新機能やスケーラビリティの拡張,クエリ最適化,その他の機能が新たに追加された。

HyperSQL のコアは完全にマルチスレッドで動作し,2フェーズロッキングと MVCC (マルチバージョン・コンカレンシ・コントロール/Multi-version Concurrency Control) をサポートする。ともにデータベースリソースへの並行アクセスに対処する機構であり,MVCC などは PostgreSQL を初めとする他のデータベースでも採用されている。またトランザクション制御モードとして,これまでは SERIALIZABLE と READ COMMITTED がサポートされていたが,HyperSQL 2.0 では REPEATABLE READ と READ UNCOMMITTED に相当する,2つの新しいアイソレーションレベルのサポートが追加されている。

SQL スキャナやパーザなどの主要コンポーネントは書き直され,ANSI-92 SQL と SQL:2003 のほぼ完全なサポートと,SQL:2008 の大部分の機能 (オプション拡張の多くを含む) を備えるようになった。これによって BETWEEN 句や OVERLAPS 述語,複数項を持つ IN 式,MERGE 文,MATHIES 述語など,数多くの式や構文が新たに記述可能になった。加えて HyperSQL 2.0 では,SQL と Java に対応するトリガ定義のための完全なシンタックスと,読取専用と更新可能の2種類のビューがサポートされている。SEQUENCE 型の生成もサポートされて,ユニークな数値を容易に生成できるようになった。さらに BIT 型や CLOB,BLOB,SQL 標準 INTERVAL 型など,さまざまなデータ型が追加されている。TIME サポートは拡張されていて,分数秒とタイムゾーンをサポートするようになった。Array 型も使用可能になり,ほとんどの型を構成要素として持つことができる。またデータベースエンジンは,JOIN 句や WHERE 句,IN クエリ,MIN や MAX などの集計関数,ORDER BY 句などにおいて,可能であればすべての有効なインデックスを使用する。今バージョンからストアドプロシージャと関数 (function) もサポートされるようになった。ストアドプロシージャ言語では WHILE ループや IF,CASE WHEN などの手続き型構文や例外処理,集計関数がサポートされている。関数は SQL または Java で定義可能で,Java で記述した場合にはポリモーフィズムのような優れた機能も利用可能である。

HyperSQL 2.0 にはこの他にも,管理や操作を容易にするような小規模な変更が数多くある。今回のバージョンでは,一般型のストレージサイズ最大値が 256GB まで拡張されるとともに,最大 64 テラバイトまでサポートする BLOB および CLOB データが追加されている。最新の JDBC 4.0 互換ドライバと Java 1.6 もサポートされる。注目すべきなのは,Statement と PreparedStatement インターフェースで getGeneratedKeys( ) メソッドがサポートされていることだ。これによる利点は多いが,中でも特に ORM ツールとの連携が改善されるだろう。

全体としては機能満載のリリースだ。今回のリリースは,テスト環境あるいは堅実な組込データベースの選択肢としての,このプロジェクトの人気の高さを証明してみせたものといえる。HyperSQL はマインドシェアも最も高いと思われるが,一方で HyperSQL オリジナル版の作者 Thomas Mueller 氏による H2 や,JDK 6 に JavaDB と同梱されている Apache Derby (元は IBM の CloudScape ) などとの競合にも直面している。

詳細な情報は HyperSQL Web サイト を参照して頂きたい。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT