InterBase 2020 Update 1の新機能
InterBaseは、管理者不要、軽量、ハイパフォーマンスの強力なデータベースエンジンです。データベースサーバーとしてはもちろん、組み込みデータベースとしてモバイルデバイスでも使用できます。InterBase 2020には、複数のデータストレージオプションによるサーバー上でのパフォーマンス改善に役立つテーブル領域サポートをはじめ、数々の新機能が追加されています。最新バージョンのサポートプラットフォームについては、こちらをご確認ください。
データベーステーブル領域
テーブル領域サポートは、InterBase 2020の重要な新機能です。
テーブル領域を用いれば、ハードウェアの使用をよりよいバランスで最適化し、パフォーマンスを改善することができます。テーブル領域により、特定の論理ファイルのコレクションにおけるストレージ位置を指定するデータベースオブジェクト定義が可能になりました。これにより、ディスク技術の有効活用ができるようになり、例えば、より高速なSSDと大容量HDDを組み合わせるような構成が可能になります。これは、すべてのデータベースが同じストレージにマップされなければならなかった2020以前のバージョンのInterBaseとの大きな違いです。データベース管理者は、テーブル領域の機能を活用して、データベースの実行時パフォーマンスの最適化が可能です。
InterBase 2020 Update 1では、OnlineDumpテクノロジーのためのテーブル領域のサポートが加わりました。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
新しいOSプラットフォームのサポート
InterBase 2020では、OSプラットフォームサポートを拡張しました。組み込み用InterBase(IBLIteおよびIBToGo)では、新たにAndroid 64-bitとmacOS 64-bitをサポート。これにより、RAD Studio開発者は、Google PlayストアとmacOSアプリストアの双方をターゲットとした64-bit DelphiアプリケーションにInterBaseを利用できるようになります。InterBase 2020 IBLite / IBToGoは、Windows、macOS、Linux、Android、iOSをサポートしています。InterBase 2020 Server Editionは、Windowsプラットフォームに対応しているほか、macOSおよびLinuxプラットフォームサポートも予定しています。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
パフォーマンスモニタリングの強化
InterBase 2020のインデックス使用状況のパフォーマンスモニタリング機能を用いれば、データベース内でのインデックスの使用状況の統計が可能となり、さまざまなクエリーでどのようにインデックスが使われているか(最適化、ソートなど)を理解できます。これは、テーブル、ストアドプロシージャ、トリガー、アタッチメント、トランザクションなど他のさまざまなモニタリング統計を拡張するものです。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
データディクショナリDDL
データベースツールは、ユーザーのデータベーススキーマのドキュメントに適用できる説明を記述できる標準のDDL構文を活用することができます。
新しいALTER DESCRIPTION構文を用いれば、エンティティ定義の一部に埋め込むことなく、任意のデータベースエンティティ(テーブル、インデックス、ストアドプロシージャ、ジェネレータなど)に対して、このような説明を標準の(かつ独立した)方法で記述することが可能になりました。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
SQLの最適化
インデックスベースでの検索が可能なように、演算子と不等式演算子を反対表現へと変換します。as、>、>=などの不等式演算子は、変換、最適化されます。例えば、”NOT A>0”は、”A <=0”に変換されるようになりました。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
その他の新機能
セキュリティの強化 - OpenSSLのアップグレード
InterBase 2020では、すべてのプラットフォームでOpenSSL 1.0.2を用いており、OpenSSLプロジェクトの最近の脆弱性修正が反映されています。
IBConsoleの改善
InterBase 2020では、Windows向けのIBConsoleのGUIを改善しましたIBConsoleでは、テーブル領域やデータディクショナリの修正など最新機能をサポートするとともに、特許技術「変更ビュー」のサポート強化なども含まれています。InterBase 64-bit版では、64-bitネイティブのIBConsoleアプリケーションを提供するようになり、より大規模なデータセットをクエリーウィンドウで扱えるようになりました。
エンバカデロのdocwikiで、バージョン2020および2020 Update 1の新機能をご確認ください。
旧バージョン情報
新しいリリースでは、SQL機能にフォーカスしています。InterBase 2017には、より高速なコアエンジン、サーバーサイドのパフォーマンス モニタリング機能などが搭載されています。
SQL派生テーブルおよび共通テーブル式のサポート
派生テーブルの構文により、既存のアプリケーションの機能を拡張して、バックエンド RDBMS として InterBase を使用するようにできます。
派生テーブルにより、開発者は、データベース スキーマ ビューを定義しなくても、ビューのような構造を使用して柔軟に表現することができます。またこれによりユーザーは、ビュー定義を作成するようデータベース管理に要求しなくても、アドホック クエリで同じ利点を享受することができます。派生テーブルは、別のクエリの中で使用できる、一時的なレコードのセットです。派生テーブルは、長いクエリを短縮化し、複雑な処理を論理的なステップ群に分割することができます。
クエリ式は、SQL 文の中に、その派生テーブルを識別するのに使用される相関名と一緒に直接組み込むことができます。これは、非公式に「共通テーブル式」として知られています。
RECONNECT
新しい ISQL スクリプティング コマンド
isql は新しいコマンド、RECONNECT をサポートしました。RECONNECT を isql や SQL スクリプトで使用して、最後に接続に成功したデータベースに再接続します。
-names
新しい ISQL コマンドライン オプション
isql は、新しいコマンドライン オプション、-names <文字セット名> をサポートします。このオプションを使用すると、現在のデータベース接続に使用する文字セットを指定することができます。
排他的隔離レベル
排他的隔離により、トランザクションは、対象テーブルに対して排他的ロックを取得することができ、テーブルに対して、SELECT、INSERT、UPDATE、DELETE を実行できる唯一のものとなることができます。
テーブルのオンライン認識を実行するツールは、その機能を実行する際、テーブルに一時的に排他アクセスする必要があります。トランザクションは、排他テーブル アクセスを使用することで、ターゲットのテーブルに対する排他ロックを取得することができ、そのテーブルに対して、SELECT、INSERT、UPDATE、DELETE を実行できる唯一のものとなることができます。トランザクションが排他ロックを取得すると、ロックを要求している他のトランザクションは、そのロックが解放されるか、共用レベルまでダウングレードするまで、待たなければなりません。排他テーブル アクセスを保持するトランザクションは、他のトランザクションから干渉されることなく、テーブル上のデータを変更することができます。この排他レベルは、他のトランザクションにテーブルからの選択を許可しないため、TABLE STABILITY や PROTECTED のアクセスとは異なります。
Truncate Table
ユーザーおよびアプリケーションが、データベース テーブルのコンテンツを空にできるコマンドです。
Truncate Table コマンドにより、ユーザーおよびアプリケーションは、データベース テーブルのコンテンツを空にします。 この機能は、行を頻繁に削除する必要があるテーブルの場合に便利です。 Truncate Table コマンドは、同等の DELETE FROM テーブル コマンドに比べ、実行はより高速であり、必要な入出力はより少なく、そしてはるかに少ない情報をジャーナル記録およびアーカイブします。 ETL アプリケーションや他のアプリケーションでは、使用後に削除したい、もしくはより永続的な場所(履歴テーブルなど)に移動させたい、といった大量のデータを計画する場合に、TRUNCATE TABLE と NO RESERVE SPACE テーブル割り当てオプションの組み合わせを使用すると便利でしょう。
トランザクション待機時間
ロック可能なリソースを取得するために、トランザクションが待機する時間を指定します。
ロック可能なリソースを取得する際に、InterBase トランザクション ロックは、無期限での待機も、指定された期間の待機も、もしくはまったく待機せずに即座にエラーを返すことも可能です。トランザクションが、要求されたロック レベルに合わないレベルで、リソースのロックを保持した場合、他のトランザクションはこのリソースにアクセスできなくなります。ロック可能なリソースは、テーブル、行、またはトランザクションのエンティティです。
一行コメント
プロシージャやトリガー、SQLスクリプトにコメントを追加することができます
現在、2種類の異なるコメント構文を使用できます:
- シンプルなコメント: 特殊なシンボルで始まり、改行で終わるコメント。シンプル コメント構文は、InterBase 2017 以降でのみ利用可能です。
- 囲みコメント: 始まりと終わりが特殊なシンボルになっているコメント。複数行にすることができます。
使用するコメントのタイプに関わらず、行内のどこからでもコメントは開始することができます。ただし、シンプル コメントの場合、コメントの領域は改行まで、という点は覚えておく必要があります。複数行のコメントにシンプル コメント構文を使用するには、各行を特殊シンボルで開始する必要があります。
ODS version 17
InterBase 2017で作成したデータベースは、ODS 17を使用します。
ODS 17サポート機能には以下が含まれます:
- InterBase 2017 で作成されたデータベースは、デフォルトで ODS 17 を使用します。
- サーバーサイドのパフォーマンスモニタリングは、ODS version 17でのみ開始することができます。詳細は、「全オンライン データベースのモニタリング」をご覧ください。
- 変更ビューのサブスクリプションは、ALTER TABLEの変更を反映するようになりました。これには、ODS version 17のデータベースである必要があります。
- ODS version 17下での変更ビューの抽出パフォーマンスが強化されています。
InterBaseの特長は軽量、ハイパフォーマンス。ゼロアドミニストレーションRDBMSの手軽さが、Windows、Mac、Linux、Solarisに加え、Android、iOSでも利用可能になりました。
InterBaseの「変更ビュー」
これまで、データの変更の同期には、多くの負荷が発生していました。トリガーやログを使った手法では、トランザクションオーバーヘッドが発生する恐れがありました。新たに搭載された変更ビューは、参照したデータの変更の有無をすばやく確認可能。変更ビューにサブスクライブすることで、容易に対象のテーブルへの行の挿入、更新、削除を、列レベルでの粒度で追跡できます。
- フィールドレベルの変更追跡
- ユーザー数に関わらず、ほとんどパフォーマンスに影響を与えることなくスケーラブルな追跡が可能
- 同時に発生した複数の変更を完全に掌握
- 自身の変更の通知を回避する組み込み機能
変更ビューのこれらの機能により、以下の処理が容易になります。
- SQLによって何が変更されたかを表示/クエリー可能
- 必要なデータのみを移動することで、データ移動のコストを管理下に
- 可能な限り最小のデータセットの移動のみで、データキャッシュを最新に維持
- 冗長なフィールドを持つ複雑なシステム構成を回避
変更ビューを使用すれば、インクリメンタルデータダンプによる高速なバックアップサポートを利用できます。
64-bit Linux(RHEL、Ubuntu、SUSE)をサポート
InterBase XE7では、Linux 64bitサーバー(RHEL 7、Ubuntu 14、SUSE 11)を新たにサポートしました。共通のデータベースファイルフォーマットを用いているので、状況に応じてWindowsとLinuxのいずれのプラットフォームも選択することができます。開発/テスト用、あるいはデスクトップバージョンでWindowsを用いたとしても、Linuxサーバーに展開する手間はかかりません。
64-bitトランザクション ID
InterBase XE3では、符号付き32-bitトランザクションIDのみをサポートしていたため、トランザクションID がリセットされるまでの上限が20億トランザクションでした。InterBase XE7は、トランザクションIDを64-bitに拡張し、この上限値を大幅に緩和。よりミッションクリティカルな用途に対応しました。
識別ダンプ
InterBase XE3 における「インクリメンタルダンプ」では、変更されたページをデータベースダンプファイルに書き出すために、すべてのページを読み込む必要がありました。XE7では新たに追跡システムを実装し、最後のダンプ以降、更新の必要があったページのみをフェッチするようになりました。これにより、ターゲットに対する瞬時の更新が可能になりました。
IBLite for Android, iOS, Windows,
and OS X
InterBaseを、AndroidやiOSのモバイルアプリでローカルストレージとして利用できるようになりました。InterBaseの軽量組み込みバージョンIBLiteとEmbarcadero RAD Studio を用いれば、Android、iOS、Windows、OS X向けアプリケーションを構築し、容易にローカルデータベースへそのデータを保管することができます。IBLiteは、Delphi 10 SeattleおよびC++Builder 10 Seattle(Professional+Mobile Add-On Pack* または Enterprise版以上)およびRAD Studio 10 Seattle(全エディション)に含まれており、追加コストなく無制限で配布できます。
InterBase ToGo for Android / iOS
モバイルアプリにおけるデータアクセスのセキュリティ、スケーラビリティは万全ですか?InterBase ToGoは、IBLiteを拡張し、より大きなサイズのデータベース(100MB以上)と、AESやSSLのサポート、列の暗号化などのセキュリティ機能を利用可能にします。企業向けのモバイルアプリでは、これらの機能は必須です。
- Free white paper on ホワイトペーパー:エンタープライズデータのモバイル化(PDF) >
- InterBase ToGoのライセンスについてのお問い合わせ
- IBLiteとInterBase ToGoの機能比較
RAD Studio、Delphi、C++Builderと緊密に統合
InterBase Developer Edition は、RAD Studio、C++Builder、Delphiに含まれており、無料で利用できます。DelphiとC++BuilderがサポートするすべてのターゲットプラットフォームにInterBaseを配布可能(別途ライセンス費用が必要です)。Delphi/C++Builderアプリケーションとハイパフォーマンスデータベースを幅広く配布できます。
新しい64bit ODBCドライバーが64bit プラットフォームへの展開をサポート
InterBase XE7では、64bit用の新しいODBCドライバを提供しています。64bit クライアントおよびサーバー上で利用可能なうえ、64bitのODBCアプリケーションにInterBaseを組み込み、複数のプラットフォームにまたがって展開することができます。
InterBase XE の主な新機能
- セキュリティの向上
ハッシュ関数および32バイト長のパスワードによる強力なパスワード保護 - スケーラビリティの向上
より多くのデータ、大きなデータベースを扱える能力を搭載しスケーラビリティが向上 - 容易な開発のための機能
ストアドプロシージャでの動的SQLのサポート - ラージオブジェクトのハンドリングの向上
ストリームメソッドによるラージオブジェクトのパフォーマンス最適化