InterBase

提供: RAD Studio
移動先: 案内検索

データベース アプリケーションの開発 への移動


RAD StudioRAD Studio では、InterBase 2020 データベースを完全にサポートしています。 InterBase 2020 は、次のディレクトリ内の RAD Studio と共にインストールされます: C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBase2020

目次

要件

InterBase 2020 データベースを使用するには、以下が必要です。

  • InterBase の最新のクライアント バージョン(RAD Studio のインストール時に、あえて InterBase 2020 の選択を解除しない限り、InterBase 2020 の適切なクライアント版が自動的にインストールされます。
  • 新しいプラットフォーム サポートのための x64 マシン(64 ビットを使用したい場合)

64 ビット版をインストールできるのは以下のオペレーティング システムだけです。

  • Microsoft Windows 10
  • Microsoft Windows 8、8.1
  • Microsoft Windows 7
  • Windows Vista
  • Windows Server 2016
  • Windows Server 2012、2012 R2
  • Windows Server 2008、2008 R2
  • macOS El Capitan 10.11
  • macOS Sierra 10.12
  • macOS High Sierra 10.13

InterBase サーバーを起動する

  1. スタート | プログラム | Embarcadero InterBase 2020 | 64-bit/32-bit instance = gds_db | InterBase サーバー マネージャ [instance = gds_db] を選択します。
  2. まだ実行されていなければ、InterBase 2020 64 Server Manager で、InterBase サーバーを起動します。

RAD Studio での InterBase のサポート

InterBase 2020 の統合ライセンス

InterBase 2020 Developer Edition は、RAD Studio と共にインストールされ (Starter エディションを除く)、RAD Studio の統合ライセンスに組み込まれています。InterBase 2020 ToGo は、どのサーバーにもエンド ユーザー ワークステーションにもインストールする必要はなく、開発用には 2 つのライセンス選択肢、 ToGoIBLite があります。 そのため、RAD Studio を使って C++Builder および Delphi の InterBase アプリケーションを開発しやすくなっています。

メモ: macOS 64 ビットのサポートは、Delphi アプリケーションでのみ有効です。
注意: InterBase ToGo のための macOS 64 ビット ファイルは、macOS 32 ビット ファイルとは別のフォルダに提供されるようになりました。

InterBase 2020 の新機能

詳細については、InterBase 2020 Readme をこちらより参照してください。

ODS の新バージョン

InterBase 2020 で作成されたデータベースは、ODS 17 を使用します。

isql

新しい RECONNECT コマンド

isql は新しいコマンド、RECONNECT をサポートしました。 RECONNECTisql や SQL スクリプトで使用して、最後に接続に成功したデータベースに再接続します。 詳細については、RECONNECT を参照してください。

新しい -names コマンドライン オプション

isql は、新しいコマンドライン オプション、-names <文字セット名> をサポートします。 このオプションを使用すると、現在のデータベース接続に使用する文字セットを指定することができます。 詳細については、「コマンドライン オプション」を参照してください。

全オンライン データベースのモニタリング

InterBase 2020 では、単一のコネクションで、サーバー内の全オンライン データベースのモニタリングを提供します。 管理者は、サーバー レベルの統計を使用して、インスタンスの利用状況をさらにモニタリングすることができます。

メモ: この機能は、ODS 17 以降でのみ利用可能です。

この機能を使用するには:

  1. システム上の管理データベースに接続します。
  2. 単一のデータベースで行うのと同じ要領で、パフォーマンス モニタリング クエリを、任意の TMP$ テーブルに対して実行します。 現在オンライン上にあるすべてのデータベースの累積データを見ることができます。

制限[SET STATISTICS:せいげん]

  • admin 以外のデータベースに対する SWEEP、FLUSH、RECLAIM については、TMP$DATABASE に対して UPDATE オペレーションを実行します。
  • admin 以外のデータベースに対する COMMIT、ROLLBACK については、TMP$TRANSACTIONS に対して UPDATE オペレーションを実行します。

サブスクリプションは、ALTER TABLE の変更を反映する

サブスクリプションは、ALTER TABLE で列が追加された際に、変更を反映するようになりました。 たとえば、次のコード FOO_SUBS は、新たに追加された列 BID を表示します。

CREATE TABLE FOO (AID INT);
CREATE SUBSCRIPTION FOO_SUBS ON FOO;
INSERT INTO FOO VALUES (1);

ALTER TABLE FOO ADD BID INT;
UPDATE FOO SET BID=2;
COMMIT;
メモ: データベースは ODS 17 でなければなりません。

排他的隔離レベル

排他的隔離により、トランザクションは、対象テーブルに対して排他的ロックを取得することができ、テーブルに対して、SELECTINSERTUPDATEDELETE を実行できる唯一のものとなることができます。 詳細については、「排他的隔離レベル」を参照してください。

SQL 派生テーブルのサポート

InterBase が、よく使用される SQL 開発機能である、派生テーブルをサポートするようになりました。 派生テーブル構文により、既存のアプリケーションの機能を強化して、InterBase をバックエンド RDMBS として使用できるようにします。 詳細については、「派生テーブル」ドキュメントを参照してください。

Truncate Table

Truncate Table コマンドにより、ユーザーおよびアプリケーションは、データベース テーブルのコンテンツを空にします。 この機能は、行を頻繁に削除する必要があるテーブルの場合に便利です。 Truncate Table コマンドは、同等の DELETE FROM テーブル コマンドに比べ、実行はより高速であり、必要な入出力はより少なく、そしてはるかに少ない情報をジャーナル記録およびアーカイブします。 詳細については、「Truncate Table」を参照してください。

トランザクションの待機時間

ロック可能なリソースを取得するために、トランザクションが待機する時間を指定します。 ロック可能なリソースが取得できるまで、トランザクションが待機する時間を指定できるようになりました。 詳細については、「待機時間」を参照してください。

一行コメント

2 つのダッシュを使用して、SQL 文に一行コメントを追加することができます。詳細と例については、「コメント」を参照してください。

--This is a comment line.

前のリリースからの機能

以下の項目は、前のリリースの機能の一覧です。

変更ビュー

変更ビュー機能では、InterBase の複数世代アーキテクチャを使用して、データの変更内容を捕捉します。この機能により、"前回参照してから、どのようなデータが変更されたか" という質問にすばやく答えることができます。

これまでは、それを実現するのに、トリガ、ログ記録、または、先行書き込みトランザクション ログのスクレイピングが必要でした。これは開発者にとって時間のかかる作業であり、特定のトランザクション負荷や変更量の場合には、データベース パフォーマンスにも影響を及ぼしました。今では、変更ビューにより、変更されたデータの一貫したビューが他のトランザクションからも参照可能な形で維持管理されているため、既存のトランザクションにパフォーマンスのオーバーヘッドは発生しません。

Linux 32 ビットおよび 64 ビット

InterBase XE7 リリースで Linux キット(32 ビットおよび 64 ビット)が導入されています。InterBase XE7 の新しい Linux ビルド(12.0.0.124)が入手可能です。

パフォーマンスの向上

このリリースでは、多くの点でパフォーマンスの向上が図られています。

  • SMP パフォーマンスの向上。InterBase XE7 で、複数読み取りおよび書き込み操作のパフォーマンスが向上しました。
  • 識別ダンプ。InterBase XE3 の "インクリメンタル ダンプ" では、変更されたページをターゲット データベース ダンプ ファイルに書き出すだけでも、データベース サーバーがデータベース ファイルからすべてのページを読み取る必要がありました。XE7 には追跡システムが実装されているため、前回のダンプ以降で更新の必要があるページのみ取得されるようになりました。これにより、ターゲットに対して即座に更新を適用できるようになりました。ソース データベースごとに "識別ダンプ" は 1 回だけ可能です。
  • トランザクション キャップが大きい(OIT - OAT)場合のコミット済み読み取り(RC)トランザクション処理の向上。
  • トランザクション作成の高速化。

パフォーマンス監視カウンタ

パフォーマンス監視カウンタが、32 ビット値から 64 ビット値に拡張されました。これには、データベース内のテーブルに格納されるすべてのデータが含まれています。IBConsole は、このリリースで更新されました。

ODS に関連する下記の違いに留意してください。

  • ODS <= 15 の場合は、(ダイアレクト 1 データベースについてもダイアレクト 3 データベースについても)引き続き従来どおりの 32 ビット INTEGER カウンタになります。
  • ODS >= 16 の場合は、ダイアレクト 1 データベースについては、"double precision" データ型として定義されたカウンタになります。
  • ODS >= 16 の場合は、ダイアレクト 3 データベースについては、"NUMERIC(18,0)" データ型として定義されたカウンタになります。ご存じのとおり、デフォルトでは、新規データベースはすべて ODS 16、ダイアレクト 3 として作成されます。

セグメント部分選択機能

InterBase のこれまでのバージョンでは、(単一キーか複合キーかを問わず)インデックスごとに単一の選択値を保持していました。値は降順で格納されており、インデックス全体での重複の数に関する情報を追跡します(ただし、第 1 レベルのみ)。しかし、さらに下位レベルに関する情報があると役に立つ場合もあります。InterBase XE7 では、このような情報を追跡できるようになりました。

64 ビット トランザクション ID

InterBase XE7 では、トランザクション ID が 64 ビット(実際には 48 ビット)に拡張されているため、データベースはこれまでの制限がなくなり、より多くのトランザクションに対応できるようになりました。48 ビットに制限しているのは、トランザクション ID の今後の増加に備えるためです。

ODS の変更

InterBase XE7 では、データベースのバックアップを特定の古いバージョンの ODS に復元できるようになりました。データベース復元操作では自動的に ODS の最新バージョンでデータベースが作成されますが、開発者側で古いバージョンに復元しなければならない場合があります。 その理由は次のとおりです。

  • 同じデータベース ファイルを、互換性のあるバージョンの他のデータベース エンジンに配置できるようにするため。
  • 解決しにくい ODS バグの回避策を提供するため。
  • 単一のサーバー/エンジンを使用して同じデータベースの複数のコピー(ODS ごとに 1 つ)を復元したあと、それらの各データベース ファイルに対してクエリを実行することにより、現在の ODS バージョンと古い ODS バージョンの間で、パフォーマンスの影響を受けやすい操作をテストするため。

OpenSSL の更新

InterBase XE7 に含まれている OpenSSL ライブラリは、セキュリティの脆弱性の修正で、バージョン 1.0.0d からバージョン 1.0.1i にアップグレードされています。 OpenSSL は、InterBase における暗号化と OTW/SSL の機能で使用されています。 InterBase XE7 での OpenSSL 使用に関する詳細については、『操作ガイド』の「ネットワーク設定」と、同様に『データ定義ガイド』の「データの暗号化」を参照してください。

サービス API でのオンライン ダンプ操作およびジャーナル アーカイブ操作のサポート

  • オンライン ダンプとインクリメンタル ダンプ。サービス API では、オンライン ダンプとインクリメンタル ダンプをサポートするようになりました。
  • ジャーナル アーカイブ管理アクション。サービス マネージャによる InterBase ジャーナル アーカイブに対するさまざまな操作の実行を要求できるようになりました。

ODBC ドライバの機能改善

これまでの DataDirect ODBC ドライバが、新しく提供される InterBase ODBC ドライバに置き換えられました。ただし、新しい InterBase ODBC ドライバが InterBase XE3 と一緒にインストールされない場合があります。新しい ODBC ドライバは、登録ユーザー向けに http://cc.embarcadero.com/item/28975 からダウンロードできるようになっています。

インデックスの同時作成

InterBase XE3 でデータベースを復元する場合には、テーブルのデータを復元した後で、テーブルのインデックスも同時に作成することができます。また、SET STATISTICS を使用したインデックスの SELECTIVITY の再計算も同時に行うことができます。InterBase XE3 では、そのような操作のためにデフォルトで 1 つの補助スレッドを有効化します。そのような操作に使用する並行スレッドの数は、ibconfig ファイルの構成パラメータ MAX_ASSISTANTS で変更することができます。

データベースおよびユーザー テーブルのスペース予約の防止

InterBase XE3 では、スペースの予約を防止し、最大限に行パッキングを行えるよう、CREATE/ALTER TABLE 句が導入されました。行の UPDATE や DELETE がほとんどまたはまったく行われないテーブルや、高い割合の行を扱う集計や分析のような複雑なクエリを行うテーブル、インデックスの再構築が行われたりデータベースのバックアップや復元が頻繁に行われるテーブルでは、この句が役立ちます。この句を使用すると、記憶領域を 20% 節約できる可能性があります。

Windows、Mac OS X、Linux、iOS デバイス、Android デバイスの間での物理データベースの移植性

InterBase XE3 より、Windows(32 ビットおよび 64 ビット)、OS X、Linux、iOS、Android の各デバイス間でデータベース ファイルをコピーすることができます。 開発プラットフォームで作成された InterBase データベースは、他のサポート対象プラットフォームに簡単に配置できます。 開発用のマシンで InterBase アプリケーションと InterBase データベースを作成し、いくらか制限はありますが、そのアプリケーションとデータベースを他のサポート対象プラットフォームに簡単に配置することができます。

この機能の詳細については、『InterBase XE3 Update 4 リリース ノート』のファイルを参照してください。このファイルは、RAD Studio と一緒にインストールされるもので、通常は C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBaseXE3\Doc にあります。また、オンライン(http://docs.embarcadero.com/products/interbase/IBXE3Update4/Readme.html)でも公開されています。

強度の高いパスワード保護

新しい InterBase XE3 データベースでは、PCI-DSS(Payment Card Industry - Data Security Standard:PCI データセキュリティ基準)のパスワード要件を満たすよう、強度の高いパスワード保護が実装されています。この追加機能では、パスワードの有効文字数が増えるため、パスワード保護が強力になります。

パスワードには、8 文字から最大 32 文字までを含めることができます。

64 ビット版 InterBase でのデータベース キャッシュ設定の拡大

64 ビット版 InterBase データベースのキャッシュ サイズが拡大されました。32 ビット版エンジンでは上限が 75 万ページでしたが、64 ビット版エンジンでは 7500 万ページになりました。

ストアド プロシージャの EXECUTE STATEMENT

ストアド プロシージャの開発時には、3 種類の EXECUTE STATEMENT をストアド プロシージャ内に埋め込むことができます。この種類は、EXECUTE STATEMENT コマンドから返される行の数によって分かれています。次の 3 種類です。

  • データ行が返されないもの。
  • データが 1 行だけ返されるもの。
  • 返される行の数が変化するもの。

インデックス キーのセグメント サイズの拡大

  • インデックス キーは、最大で、ページ サイズの 1/4 から 4 バイトを引いたサイズにできるようになりました。
  • InterBase データベースは、デフォルトでは 4 KB のページ サイズで作成されます。データベース開発者は、この値をオーバーライドして、ページ サイズを最大 16 KB まで増やすことができます。
  • ページ サイズが 4 KB のデータベースでは、キーごとの最大サイズが 1020 バイトのインデックスを作成できます。
  • ページ サイズが 16 KB ならキーごとの最大サイズは 4092 バイトになりますし、他の場合も同様に計算できます。

ibconfig パラメータ:THREAD_STACK_SIZE_MB

THREAD_STACK_SIZE_MB ibconfig パラメータによって、InterBase 内のさまざまなスレッドのスタック サイズを制御することができます。これは、スレッド単位の値を MB の倍数で指定します。有効な範囲は 2 MB から 32 MB までです。範囲外の値が設定された場合には、値はデフォルトの 2 MB になります。

テーブル固有のブロック化因数

ブロック化因数という用語は、1 つのブロックに格納されるレコードの数を表します。InterBase では、1 つのデータ ページに格納できる行数を最大にするための、データベース レベルのブロック化因数を 1 つ持っています。

データベースの高速スイープ

データベースをスイープすることで、古いレコードを系統立てて削除することができます。定期的にスイープを実行すると、データベースのサイズが大きくなりすぎるのを防ぐことができます。これまではスイープ処理を行うとシステムのパフォーマンスが低下していたため、ユーザーは本番運用に影響が出ないよう、自動データベース スイープ機能を無効化していました。

関連項目

サンプル