Erscheinung der relationalen Datenbank Firebird 5.0

Nach zweieinhalb Jahren Entwicklung wird die Version 5.0 der relationalen Datenbank Firebird veröffentlicht. Firebird baut auf dem Code der Datenbank InterBase 6.0 auf, der 2000 von Borland freigegeben wurde. Firebird wird unter der MPL-Lizenz verbreitet und unterstützt die ANSI SQL-Standards, einschließlich Funktionen wie Trigger, gespeicherte Prozeduren und Replikation. Binaries sind für Linux, Windows, macOS und Android verfügbar.

Wichtige Neuerungen:

  • Die Möglichkeit, Operationen im Multithread-Modus auszuführen, wurde implementiert. Die Parallelisierung in mehreren Threads ist anwendbar beim Erstellen von Indizes, der Müllsammlung (automatische und manuelle Sweep-Operationen), beim Erstellen von Sicherungskopien und der Wiederherstellung aus diesen. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
  • Die Unterstützung von partiellen Indizes wurde hinzugefügt, die nur selektive Datensätze umfassen, die den Bedingungen entsprechen, die beim Erstellen des Index angegeben wurden. CREATE INDEX IT1_COL ON T1 (COL) WHERE COL < 100;
  • In den SELECT WITH LOCK-, UPDATE- und DELETE-Anweisungen wurde die Syntax „SKIP LOCKED“ implementiert, die es ermöglicht, Datensätze auszuschließen, für die zum Zeitpunkt der Anfrage eine Sperre gesetzt ist (zum Beispiel, um nicht auf die Freigabe der Sperre bei Überschneidungen mit einer anderen Transaktion warten zu müssen).
  • Die Möglichkeit wurde hinzugefügt, die Datenbank auf die aktuelle Zwischenversion der Speichereinheit (ODS – On-Disk-Structure) im laufenden Betrieb (Inline-Update) zu aktualisieren, ohne eine Sicherungskopie zu erstellen und wiederherzustellen. Zum Beispiel kann jetzt eine Datenbank im Firebird 4.0-Format (ODS 13.0) im laufenden Betrieb in das Firebird 5.0-Format (ODS 13.1) konvertiert werden.
  • Ein Cache für kompilierte SQL-Anweisungen wurde implementiert, der automatisch verwaltet wird (veraltete Einträge werden bei Bedarf bereinigt). Die Größe des Caches wird über den Parameter MaxStatementCacheSize in der firebird.conf festgelegt.
  • Eine Benutzeroberfläche für das Profiling von SQL und PSQL wurde hinzugefügt, die es ermöglicht, die Ausführungszeit jeder Anfrage zu bewerten, Statistiken über die Anzahl der Anfragen zu sammeln und Leistungsprobleme zu identifizieren.
  • Im MERGE-Befehl wurde die Unterstützung für den bedingten Block „WHEN NOT MATCHED BY SOURCE“ hinzugefügt, der ausgelöst wird, wenn der Originaleintrag keiner Zeile im Zielset entspricht. MERGE INTO customers c USING new_customers nc ON (c.id = nc.id) WHEN MATCHED THEN UPDATE SET name = nc.name WHEN NOT MATCHED BY SOURCE THEN DELETE
  • Die Möglichkeit, mehrere Zeilen mit dem Ausdruck RETURNING zurückzugeben, wurde sichergestellt, wenn das angegebene DML-Statement mehrere Zeilen abdeckt (früher wurde in solchen Fällen der Fehler „multiple rows in singleton select“ angezeigt).
  • Neue integrierte Funktionen wurden hinzugefügt: UNICODE_CHAR zum Rückgeben des Unicode-Zeichens, das dem angegebenen Code entspricht, und UNICODE_VAL zum Rückgeben des Codes für das angegebene Zeichen. In die Funktionen EXTRACT, FIRST_DAY und LAST_DAY wurde der Parameter QUARTER eingefügt, um die Quartalsnummer zu bestimmen.
  • Ein neues Systempaket RDB$BLOB_UTIL wurde mit einer Sammlung von Operationen für BLOBs für PSQL-Module hinzugefügt.
  • Der Algorithmus zur Komprimierung von Datensätzen wurde verbessert und wendet nun einen variablen Längen-Zähler an, um wiederholte Datensequenzen effizienter zu verpacken. Die Optimierung hat die Komprimierungsrate unvollständig ausgefüllter langer VARCHAR-Felder mit UTF-8-codierten Daten erheblich erhöht.
  • Die Möglichkeit zur Arbeit mit bidirektionalen Cursors (scrollable) wurde bei der Remote-Netzwerkansprache zu DB hinzugefügt.
  • Die Leistung beim Kopieren von Blobs wurde optimiert.
  • Die vollständige Unterstützung der in SQL standardisierten String-Definitionen wurde hinzugefügt. Zum Beispiel können Strings jetzt durch Kommentare oder Leerzeichen unterbrochen werden: select ‘ab’ /* comment */ ‘cd’ from RDB$DATABASE; select ‘ab’ ‘cd’ from RDB$DATABASE;

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster