このページは機械翻訳されています。英語の原文をお読みください。 English

IBSurgeon ライブラリ

FirebirdとInterBaseの違い

(c) Dmitry Kuzmenko, Alexey Kovyazin, IBSurgeon, 21.05.2017

歴史的概要

InterBase は 1985 年に作成されました。これは最初の商用マルチバージョニングデータベースでした。1999 年末、Borland は InterBase の開発を終了することを決定し、そのソースコードを InterBase Public License の下で公開しました。このコードはコピーされ(ライセンスで許可されています)、Firebird が誕生しました。バージョン 1.0 以降、Firebird は、それ以前の数十年にわたる InterBase の開発に基づいた、本番環境で使用可能なデータベースです。

2000 年末、Borland は InterBase をクローズドソースおよび商用ライセンス(以前とまったく同じ)に戻し、バージョン 6.5 の開発を開始しました。

FirebirdSQLFirebird 1.0 は 2002 年にリリースされ、多くのバグ修正と DDL および DML の拡張が行われました。活発な Firebird 開発は 1.0 以降も継続され、2004 年には Firebird の 2 番目のメジャーバージョン(v.1.5)がリリースされました。当時 Borland も新しいバージョン(7.0 および 7.1)を導入していました。Firebird 1.5 と InterBase 7.0 は、データベース形式(ODS)とコア機能の両方で互換性がありませんでした。Firebird 2.0 と InterBase 7.0 以降、バックアップ/リストアによる InterBase から Firebird への移行、およびその逆の移行は不可能です。

それ以来、Firebird と InterBase の違いはさらに大きくなりました。

現在の状況(2017年)

現在のバージョンの InterBase と Firebird の間で移行する唯一の方法は、SQL スクリプト(差分を手動で修正)を使用し、その後、古いデータベースから新しいデータベースへデータを転送することです。ただし、InterBase から Firebird への移行は、トランザクション管理の原則が同じであるため、他の DBMS への移行よりも依然として簡単です。

私たちは、さまざまなバージョンの InterBase と Firebird に対してこのような移行をいくつか実施しました。詳細は移行サービスについてをご覧ください。すべて問題なく完了しました。

以下に、最新バージョンである Firebird 3.0 と InterBase 2017 の違いのリストを示した表があります。

Firebird と InterBase の違い
機能
SQL(DML および DDL)
カーソル安定性(正しい INSERT FROM SELECT)
スクロール可能(双方向)カーソル
Execute Statement
Execute Statement On External(外部 Firebird データベースへのクエリ)
自律型トランザクション
導出テーブル(SELECT からの SELECT)
再帰的共通テーブル式(CTE)
ウィンドウ関数および統計関数
MERGE
insert/update/delete の RETURNING 句
接続/切断時のトリガー
トランザクション開始/コミット/ロールバック時のトリガー
DDL 用トリガー
SUBSTRING の Regexp サポート
Boolean データ型
BIGINT データ型
PSQL 関数
外部プロシージャ、関数、トリガー(Java
ネストされたプロシージャと関数
決定論的関数
SYSTEM、USER_SESSION、USER_TRANSACTION 名前空間のコンテキスト変数
パッケージ(プロシージャと関数)
パラメータ付き例外
IDENTITY 列
RECREATE(CREATE または ALTER の組み合わせ)
UTF8 サポート
Unicode の大文字小文字を区別しない検索サポート
識別子の長さ
COMPUTED BY インデックス(式に対する)
アーキテクチャ/管理
SMP SuperServer(マルチコアサポート)
Classic(接続ごとのインスタンス)
SuperClassic
複数インスタンス(異なるポート)
データベースエイリアス
サーバーインスタンス間の再ルーティング
先書きログ(WAL)
ポイントインタイムリカバリ
リストア中の並列インデックス作成
増分バックアップ
システム監視テーブル
64 ビットクライアントおよびサーバー
組み込みバージョン
Android 用組み込み(モバイル)
iOS 用組み込み(モバイル)
ChangeViews(とは?
ワイヤ圧縮
高遅延ネットワーク向けネットワークプロトコル改善(インターネット経由の SQL クエリ用)
サーバーレベルのレプリケーション(ネイティブ)
トレースと監査
オンラインデータベース検証
セキュリティ
セキュリティデータベース
データベース内のユーザー
データベース暗号化
列暗号化
複数の暗号化キー
ワイヤ暗号化
DDL ユーザー権限
SQL によるユーザー管理
UDF および組み込み関数
ユーザー定義関数
SDF(別名サーバー定義関数、UDF より高速)
ドライバーおよびクライアントライブラリのサポート
Java
.NET
PHP
Python
ODBC
Node.JS/TypeScript
Golang
Yii2
Ruby
Perl
Erlang
QT
ライセンス/価格
サーバーあたりの価格(無制限接続)
コミュニティサポート
プロフェッショナルサポート、サーバーあたり
リカバリ、監視、トレース/監査、最適化、ネイティブレプリケーションツール

お問い合わせ

ご質問がありますか?お気軽にメールでお問い合わせください!