MobiLink verbindet sich auf der bestmöglichen Isolationsstufe mit einer konsolidierten Datenbank, wenn die Isolationsstufen im RDBMS aktiviert sind. Die Standardisolationsstufen werden gewählt, um bei Gewährleistung der Datenkonsistenz beste Leistungfähigkeit zu erzielen.
Im Allgemeinen verwendet MobiLink die Isolationsstufe SQL_TXN_READ_COMMITTED für Uploads und, wenn möglich, Snapshot-Isolation für Downloads. Wenn die Snapshot-Isolation nicht verfügbar ist, verwendet MobiLink SQL_TXN_READ_COMMITTED. Bei einem Download mit SQL_TXN_READ_COMMITTED-Isolation besteht die Möglichkeit zu blockieren, bis eine andere Transaktion abgeschlossen ist. Ein solches Blockieren kann den Durchsatz von Synchronisationen deutlich verringern. Die Snapshot-Isolation verhindert, dass Downloads blockiert werden, bis Transaktionen in der konsolidierten Datenbank geschlossen wurden, unter der Annahme, dass der Download keine Aktualisierungen ausführt, was dringend empfohlen wird.
Bei der Snapshot-Isolation können Daten doppelt heruntergeladen werden (wenn z.B. bei längeren Transaktionen derselbe Snapshot längere Zeit verwendet wird). MobiLink-Clients sind jedoch in der Lage, dies automatisch zu verarbeiten, sodass der einzige Nachteil in der Übertragungsdauer und dem Verarbeitungsaufwand in der entfernten Datenbank liegt. Trotzdem wird empfohlen, Transaktionen mit langen Laufzeiten zu vermeiden.
Die Isolationsstufe 0 (READ COMMITTED) eignet sich für gewöhnlich nicht zur Synchronisation und kann Dateninkonsistenzen verursachen.
Die Isolationsstufe wird sofort eingestellt, nachdem eine Verbindung zur konsolidierten Datenbank hergestellt wurde. Es werden noch ein paar weitere Verbindungseinstellungen durchgeführt und dann wird die Transaktion festgeschrieben. Der COMMIT-Befehl wird von dem meisten RDBMS verlangt, damit die Isolationsstufe (und möglicherweise andere Einstellungen) wirksam werden können.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |