Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere 12 - Änderungen und Upgrades » Neue Funktionen in Version 10.0.0 » SQL Anywhere » Neue Funktionen

 

Wichtigste Funktionen

  • Unterstützung für abfrageinterne Parallelität (Intra-Query Parallelität) zur Verbesserung der Performance   Der Datenbankserver unterstützt nun die Verwendung mehrerer Prozessoren zur Verarbeitung einer einzelnen Abfrage. Abfrageinterne Parallelität ist nützlich, wenn die Anzahl der gleichzeitig ausgeführten Abfragen geringer ist als die Anzahl der verfügbaren Prozessoren. Siehe Parallelität während der Abfrageausführung.

  • Unterstützung für Datenbankspiegelung   SQL Anywhere unterstützt nun die Datenbankspiegelung, einen Mechanismus zur Verbesserung der Verfügbarkeit einer Datenbank. Hierbei werden zwei oder drei Datenbankserver auf separaten Rechnern ausgeführt, die im synchronen oder asynchronen Modus miteinander kommunizieren. Siehe Einführung in die Datenbankspiegelung.

    Die folgenden Funktionen wurden hinzugefügt, um die Datenbankspiegelung zu unterstützen:

    Zusätzlich zur Datenbankspiegelung bietet SQL Anywhere nun Veritas Cluster Server-Agenten für Datenbanken (SADatabase-Agent) und Datenbankserver (SAServer-Agent). Siehe Die SQL Anywhere Veritas Cluster Server-Agenten verwenden.

  • Unterstützung für die Snapshot-Isolation   Wenn Sie die Snapshot-Isolation verwenden, behält die Datenbank eine Kopie der ursprünglichen Daten, die von einem Benutzer geändert werden, und stellt diese ursprünglichen Daten anderen Benutzern zum Lesen zur Verfügung. Die Snapshot-Isolation ist für die Benutzer völlig transparent und kann dazu beitragen, Deadlocks und Sperrenkonflikte zu verringern. Siehe Snapshot-Isolation.

    Die folgenden Funktionen wurden zur Unterstützung der Snapshot-Isolation hinzugefügt oder erweitert:

  • Unterstützung für die Anwendungsprofilerstellung und die Diagnoseprotokollierung   Vorhandene Funktionen zur Anwendungsprofilerstellung, wie etwa die Profilerstellung mit gespeicherten Prozeduren und die Anforderungsprotokollierung, wurden mit einer einheitlichen Oberfläche im SQL Anywhere-Plug-In für Sybase Central versehen. Wenn Sie in Sybase Central ein Profil für Ihre Anwendung erstellen, werden Empfehlungen gegeben, die Ihnen helfen, die Datenbankperformance zu steigern.

    Weitere Hinweise zur Anwendungsprofilerstellung in Sybase Central finden Sie unter Anwendungsprofilerstellung.

  • Unterstützung für materialisierte Ansichten   Zur Verbesserung der Performance in Umgebungen mit großen Datenbanken und einer großen Anzahl von Abfragen, die zu repetitiven Aggregat- und Join-Vorgängen für große Datenmengen führen, unterstützt SQL Anywhere nun materialisierte Ansichten. Siehe Mit materialisierten Ansichten arbeiten.

    Der Datenbankserver wurde so erweitert, dass er automatisch basierend auf den Kosten entscheidet, welche materialisierten Ansichten verwendet werden können, um Teile einer Abfrage zu beantworten, anstatt Basistabellen zu verwenden, die direkt von der Abfrage referenziert werden. Siehe Performance durch materialisierte Ansichten verbessern.

    Die beiden neuen Systemtabellen ISYSMVOPTION und ISYSMVOPTIONNAME wurden hinzugefügt, um Informationen über materialisierte Ansichten zu speichern. Siehe SYSMVOPTION-Systemansicht und SYSMVOPTIONNAME-Systemansicht.

  • Unterstützung für NCHAR-Daten   SQL Anywhere unterstützt nun den Datentyp NCHAR. NCHAR-Datentypen werden zum Speichern von Unicode-Zeichendaten verwendet. Siehe NCHAR-Datentyp.

    Die folgenden neuen Funktionen wurden zur Unterstützung von NCHAR hinzugefügt:

    Die folgenden Funktionen SORTKEY und COMPARE haben neue Parameter zur Unterstützung des Datentyps NCHAR:

    SQL Anywhere sortiert nun Mehrbyte-Zeichensätze richtig, wenn der UCA-Algorithmus (Unicode Collation Algorithm - Unicode-Kollatierungsalorithmus) verwendet wird.

    Das Dienstprogramm Initialisierung (dbinit) und das Dienstprogramm Entladen (dbunload) besitzen nun neue Optionen zur Unterstützung des Datentyps NCHAR. Siehe Dienstprogramm Initialisierung (dbinit) und Entladen-Dienstprogramm (dbunload).

    SQL Anywhere verwendet nun International Components für Unicode (ICU) für die Unicode-Unterstützung. Siehe Internationale Sprachen und Zeichensätze.

    Zur Unterstützung von ICU und zur Verarbeitung von NCHAR-Daten wurden die folgenden Änderungen an Eigenschaften vorgenommen:

    • Die neue Datenbankeigenschaft und erweiterte Verbindungseigenschaft NcharCharSet wurde hinzugefügt. Diese Eigenschaft gibt den NCHAR-Zeichensatz zurück, der von der Datenbank bzw. Verbindung verwendet wird.

    • Die neue Datenbankeigenschaft AccentSensitive wurde hinzugefügt. Diese Eigenschaft gibt den Status der Funktion zur Schreibweise von Akzenten zurück.

    • Die CharSet-Datenbankeigenschaften und Verbindungseigenschaften sind nun erweiterte Eigenschaften.

    Siehe Datenbankeigenschaften und Verbindungseigenschaften.

  • Interne Performancesteigerungen   Zur Verbesserung der Datenbankperformance wurde die Virtual Machine-Technologie verwendet, um die Darstellung und Auswertung von SQL-Ausdrücken neu zu gestalten, wodurch der Durchsatz erheblich gesteigert wird.

  • Unterstützung der Abhängigkeiten von Ansichten   Der Katalog speichert nun Informationen über die Abhängigkeiten von Ansichten. Im Einzelnen protokolliert der Katalog die Ansichten, Tabellen und Spalten, von denen die einzelnen Ansichten in der Datenbank abhängen. Wenn Sie ein Objekt ändern, das für eine Ansicht verwendet wird, führt der Datenbankserver automatisch weitere Vorgänge aus, um sicherzustellen, dass die Ansichtsdefinition nicht in einem Zustand gelassen wird, in dem sie falsche Ergebnisse zurückgeben könnte. Siehe Ansichtenabhängigkeiten.

    Die beiden neuen Tabellen ISYSDEPENDENCY und ISYSOBJECT wurden hinzugefügt, um Informationen über Systemobjekte und ihre Abhängigkeiten zu speichern. Siehe SYSDEPENDENCY-Systemansicht und SYSOBJECT-Systemansicht.

  • Verbesserter Checkpoint-Algorithmus   Der Datenbankserver kann nun einen Checkpoint initiieren und während seines Ablaufs andere Vorgänge ausführen. Früher wurden während des Checkpoints alle Aktivitäten gestoppt. Wenn ein Checkpoint bereits durchgeführt wird, müssen alle Vorgänge wie ALTER TABLE oder CREATE INDEX, die einen neuen Checkpoint initiieren, warten, bis der aktuelle Checkpoint beendet wird. Siehe Hinweise zum Checkpoint-Log.

  • Verbesserungen von Sperren   Die folgenden Erweiterungen wurden für Sperren vorgenommen:

    • Sperrenklassen   SQL Anywhere unterstützt nun vier unterschiedliche Klassen von Sperren: Schemasperren, Tabellensperren, Zeilensperren und Positionssperren. Die Systemprozedur sa_locks wurde geändert, um die Typen der Sperren, die jede Transaktion besitzt, klarer zu dokumentieren, um so eine genauere Analyse von Sperrenkonflikten zu ermöglichen. Siehe Funktionsweise von Sperren und sa_locks-Systemprozedur.

    • Unterstützung für Absichtssperren   Der neue Sperrentyp der Absichtssperre wurde für Tabellensperren und Zeilensperren eingeführt. Absichtssperren werden von einer Anwendung verwendet, um die Absicht zu signalisieren, eine Tabelle oder eine Gruppe von Zeilen innerhalb dieser Tabelle zu aktualisieren. Absichtssperren werden nun erworben, wenn eine Anwendung die Anweisungen SELECT FOR UPDATE oder FETCH FOR UPDATE verwendet (bzw. die entsprechenden Konstruktionen in den verschiedenen Programmierschnittstellen). Absichtssperren blockieren andere Absichtssperren und Schreibsperren, doch sie blockieren keine Lesesperren. Diese Unterstützung bietet den Anwendungen, die Sperren als expliziten Steuerungsmechanismus für die Parallelität verwenden, einen höheren Grad an Parallelität. Siehe Cursor verwenden und Absichtssperren.

    • Schlüsselbereichssperre in einigen Situationen eliminiert   Änderungen der Indexwartungsalgorithmen gestatten es nun dem Datenbankserver, Schreibsperren auf einzelne Indexeinträge anstatt auf einen Bereich von Schlüsseln zu setzen. Dadurch wird die Parallelität verbessert und unnötiges Blockieren aufgrund paralleler INSERT-Vorgänge in einer Vielzahl von Situationen vermieden. Siehe Funktionsweise von Sperren.

  • Verbesserte Indizierung   Die folgenden Erweiterungen wurden für die Indizierung vorgenommen:

    • Neue Indeximplementierung   Frühere Versionen von SQL Anywhere enthielten zwei verschiedene Indizierungsimplementierungen, die automatisch basierend auf der deklarierten Größe der indizierten Spalten gewählt wurden. In SQL Anywhere 10 wird durchgehend eine neue Implementierung komprimierter B-Tree-Indizes verwendet, und die ältere B-Tree-Indizierungstechnologie wurde eliminiert. Die neuen Indizes speichern eine komprimierte Form des Indexschlüsselwerts im Indexeintrag, und zwar getrennt und unterschieden vom Wert in der Zeile. Dies ist zur Unterstützung der Snapshot-Isolation erforderlich.

    • Unterstützung für die Snapshot-Isolation   In früheren Versionen von SQL Anywhere wurden Indexeinträge nach UPDATE- oder DELETE-Anweisungen sofort gelöscht. Zur Unterstützung der Snapshot-Isolation gibt es die Möglichkeit, dass mehrere Einträge mit unterschiedlichen Indexschlüsselwerten auf dieselbe logische Zeile hinweisen. Diese mehrfachen Indexeinträge werden vom Datenbankserver verwaltet, sodass jede Verbindung für jede Zeile nur einen der Einträge sehen kann. Ein Daemon des Servers löscht diese zusätzlichen Indexeinträge, wenn sie nicht mehr benötigt werden (wenn für Transaktionen ein COMMIT oder ROLLBACK durchgeführt wird), in regelmäßigen Abständen. Die Beibehaltung von Indexeinträgen für nicht festgeschriebene DELETE-Vorgänge verbessert auch die semantische Beschaffenheit der Steuerungsmechanismen für die Parallelität in SQL Anywhere. Siehe Snapshot-Isolation.

  • Verbesserte Steuerung der BLOB-Speicherung und Performance   Sie können nun den Umfang eines BLOB-Werts steuern, der in einer Tabellenzeile (inline) gespeichert wird. Sie können auch steuern, ob BLOB-Werte indiziert werden. Diese Erweiterungen verbessern das Durchsuchen von BLOBs sowie den Zugriff auf sie. Sie sind über die drei neuen Klauseln der CREATE TABLE- und ALTER TABLE-Anweisungen INLINE, PREFIX und [NO] INDEX verfügbar. BLOB-Werte können nun innerhalb von Zeilen derselben Tabelle oder zwischen den Zeilen gemeinsam verwendet werden, wodurch die Speicheranforderungen reduziert werden, da es nicht mehr erforderlich ist, doppelte BLOB-Werte zu eliminieren. Siehe BLOBs speichern, CREATE TABLE-Anweisung und ALTER TABLE-Anweisung.

  • Unterstützung für Spaltenkomprimierung   Sie können nun einzelne Spalten in einer Tabelle komprimieren. Die Komprimierung wird mithilfe des Deflate-Komprimierungsalgorithmus durchgeführt. Dies ist dieselbe Komprimierung, die auch von der Funktion COMPRESS verwendet wird. Der Algorithmus wird auch von .zip-Dateien in Windows verwendet. Siehe CREATE TABLE-Anweisung und ALTER TABLE-Anweisung.

  • Unterstützung für Tabellenverschlüsselung   Anstatt eine ganze Datenbank zu verschlüsseln, um Daten zu sichern, können Sie nun einzelne Tabellen in der Datenbank verschlüsseln. Die Tabellenverschlüsselung muss bei der Initialisierung der Datenbank aktiviert werden. Siehe Tabellenverschlüsselung.