Wenn der MobiLink-Server einen Upload von einem MobiLink-Client erhält, wird der gesamte Upload im Speicher gehalten, bis die Synchronisation abgeschlossen ist. Diese Vorgehensweise hat folgende Gründe:
Zeilen für den Download filtern Die häufigste Methode zur Bestimmung der Zeilen für den Download besteht darin, die Zeilen herunterzuladen, die seit dem letzten Download verändert wurden. Beim Synchronisieren hat der Upload Vorrang vor dem Download. Bei den Zeilen, die während des Uploads eingefügt oder geändert wurden, handelt es sich um die Zeilen, die seit dem vorherigen Download geändert wurden.
Es wäre schwierig, ein download_cursor-Skript zu schreiben, das die im Rahmen des Uploads übertragenen Zeilen aus dem Download ausschließt. Aus diesem Grund filtert der MobiLink-Server automatisch diese Zeilen aus dem Download aus.
Einfügungen und Aktualisierungen verarbeiten Standardmäßig werden Upload-Tabellen in der konsolidierten Datenbank in einer Reihenfolge angewendet, die Verletzungen der referenziellen Integrität vermeidet. Die Tabellen im Upload werden anhand ihrer Fremdschlüsselbeziehungen sortiert. Wenn z.B. in Tabelle A und in Tabelle C jeweils Fremdschlüssel enthalten sind, die eine Primärschlüsselspalte in Tabelle B referenzieren, werden Einfügungen und Aktualisierungen für Tabelle B zuerst heraufgeladen.
Löschungen nach Einfügungen und Aktualisierungen verarbeiten Löschungen werden in der konsolidierten Datenbank ausgeführt, nachdem alle Einfügungen und Aktualisierungen vorgenommen wurden. Wenn Löschungen ausgeführt werden, werden Tabellen in der umgekehrten Reihenfolge des Uploads verarbeitet. Wenn eine Zeile, die gelöscht wird, eine Zeile in einer anderen Tabelle referenziert, die gelöscht wird, wird durch diese Reihenfolge sichergestellt, dass die referenzierende Zeile gelöscht wird, bevor die referenzierte Zeile gelöscht wird.
Deadlock Wird ein Upload in die konsolidierte Datenbank ausgeführt, kann es aufgrund von Parallelität mit anderen Transaktionen zu Deadlock-Situationen kommen. Bei diesen Transaktionen kann es sich um Upload-Transaktionen anderer Datenbankverbindungen des MobiLink-Servers bzw. um Transaktionen anderer Anwendungen handeln, die auf die konsolidierte Datenbank zugreifen. Wenn bei einer Upload-Transaktion ein Deadlock eintritt, dann wird diese zurückgesetzt, und der MobiLink-Server beginnt automatisch, den Upload erneut von Beginn an auszuführen.
Performancetipp Sie müssen Ihre Synchronisationsskripten so schreiben, dass Konfliktsituationen so weit wie möglich vermieden werden. Konfliktsituationen haben erheblichen Einfluss auf die Performance, wenn mehrere Benutzer gleichzeitig synchronisieren.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |