Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

IBSurgeon-Bibliothek

Unterschiede zwischen Firebird und InterBase

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

Historischer Überblick

InterBase wurde 1985 entwickelt: Es war die erste kommerzielle Datenbank mit Multi-Versioning. Ende 1999 entschied sich Borland, die Entwicklung von InterBase einzustellen, und veröffentlichte den Quellcode unter der InterBase Public License. Dieser Code wurde kopiert (was die Lizenz erlaubt), und Firebird war geboren - ab Version 1.0 ist Firebird eine produktionsreife Datenbank, die auf jahrzehntelanger InterBase-Entwicklung basiert.

Ende 2000 kehrte Borland mit InterBase zu Closed Source und kommerziellen Lizenzen zurück (genau wie zuvor) und begann mit der Entwicklung von Version 6.5.

FirebirdSQLFirebird 1.0 wurde 2002 veröffentlicht, mit vielen Fehlerbehebungen und Erweiterungen von DDL und DML. Die aktive Firebird-Entwicklung wurde nach 1.0 fortgesetzt, und 2004 wurde die zweite Hauptversion von Firebird (v.1.5) veröffentlicht. Borland brachte zu dieser Zeit ebenfalls neue Versionen heraus (7.0 und 7.1). Firebird 1.5 und InterBase 7.0 waren sowohl im Datenbankformat (ODS) als auch in der Kernfunktionalität inkompatibel. Die Migration von InterBase zu Firebird und zurück mit Backup/Restore ist seit Firebird 2.0 und InterBase 7.0 nicht mehr möglich.

Seitdem ist der Unterschied zwischen Firebird und InterBase noch größer geworden.

Aktuelle Situation (2017)

Der einzige Weg für die Migration zwischen aktuellen Versionen von InterBase und Firebird führt über SQL-Skripte (mit manueller Korrektur der Unterschiede) und anschließendem Übertragen der Daten von der alten Datenbank in die neue. Die Migration von InterBase zu Firebird ist jedoch immer noch einfacher als zu einem anderen DBMS, da die Prinzipien der Transaktionsverwaltung dieselben sind.

Wir haben mehrere solcher Migrationen für verschiedene Versionen von InterBase und Firebird durchgeführt - siehe weitere Details zu unserem Migrationsservice hier - und sie verliefen reibungslos.

Unten finden Sie die Tabelle mit der Liste der Unterschiede zwischen den neuesten Versionen: Firebird 3.0 und InterBase 2017.

Unterschiede zwischen Firebird und InterBase
Funktionen
SQL (DML und DDL)
Cursor-Stabilität (korrektes INSERT FROM SELECT)
Scrollbare (bidirektionale) Cursor
Execute Statement
Execute Statement On External (Abfragen an externe Firebird-Datenbanken)
Autonome Transaktionen
Abgeleitete Tabellen (SELECT aus SELECT)
Rekursive Common Table Expressions (CTE)
Fenster- und statistische Funktionen
MERGE
RETURNING-Klausel für INSERT/UPDATE/DELETE
Trigger bei Verbindung/Trennung
Trigger bei Transaktionsstart/-commit/-rollback
Trigger für DDL
Regexp-Unterstützung für SUBSTRING
Boolean-Datentyp
BIGINT-Datentyp
PSQL-Funktionen
Externe Prozeduren, Funktionen, Trigger ( Java)
Verschachtelte Prozeduren und Funktionen
Deterministische Funktionen
Kontextvariablen in den Namespaces SYSTEM, USER_SESSION und USER_TRANSACTION
Pakete (Prozeduren und Funktionen)
Ausnahmen mit Parametern
IDENTITY-Spalte
RECREATE (Kombination aus CREATE oder ALTER)
UTF8-Unterstützung
Unicode-Unterstützung für case-insensitive Suche
Bezeichnerlänge
COMPUTED BY-Indizes (auf Ausdrücken)
Architektur/Administration
SMP SuperServer (Mehrkernunterstützung)
Classic (Instanz pro Verbindung)
SuperClassic
Mehrere Instanzen (auf verschiedenen Ports)
Datenbank-Aliase
Umleitung zwischen Serverinstanzen
Write-Ahead-Log (WAL)
Point-in-Time-Recovery
Parallele Indexerstellung während des Restores
Inkrementelles Backup
Systemüberwachungstabellen
64-Bit-Client und -Server
Eingebettete Version
Eingebettet für Android (mobil)
Eingebettet für iOS (mobil)
ChangeViews ( Was ist das?)
Wire-Kompression
Netzwerkprotokoll-Verbesserungen für Netzwerke mit hoher Latenz (für SQL-Abfragen über das Internet)
Replikation auf Serverebene (nativ)
Trace und Audit
Online-Datenbankvalidierung
Sicherheit
Sicherheitsdatenbank
Benutzer in der Datenbank
Datenbankverschlüsselung
Spaltenverschlüsselung
Mehrere Verschlüsselungsschlüssel
Wire-Verschlüsselung
DDL-Benutzerrechte
Benutzerverwaltung über SQL
UDF und eingebaute Funktionen
User Defined Functions
SDF auch bekannt als Server Defined Functions (schneller als UDF)
Treiber- und Client-Bibliotheksunterstützung
Java
.NET
PHP
Python
ODBC
Node.JS/TypeScript
Golang
Yii2
Ruby
Perl
Erlang
QT
Lizenzierung/Preise
Preis pro Server (unbegrenzte Verbindungen)
Community-Support
Professioneller Support, pro Server
Recovery-, Monitoring-, Trace/Audit-, Optimierungs- und native Replikationswerkzeuge

Kontaktieren Sie uns

Haben Sie Fragen? Zögern Sie nicht, uns per E-Mail zu kontaktieren!