https://giswiki.hsr.ch/index.php?title=Replikation&feed=atom&action=history Replikation - Versionsgeschichte 2024-03-29T10:25:48Z Versionsgeschichte dieser Seite in Geoinformation HSR MediaWiki 1.27.0 https://giswiki.hsr.ch/index.php?title=Replikation&diff=25807&oldid=prev Stefan: /* Was ist Replikation? */ 2010-01-24T15:51:16Z <p>‎<span dir="auto"><span class="autocomment">Was ist Replikation?</span></span></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='de-CH'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 24. Januar 2010, 15:51 Uhr</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l14" >Zeile 14:</td> <td colspan="2" class="diff-lineno">Zeile 14:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Disconnected Computing (z.B. für Mobiles)</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Disconnected Computing (z.B. für Mobiles)</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Verwandte Konzepte zur Replikation: Bei der ''Versionsverwaltung'' (Verwaltung gleichrangiger Kopien) müssen Merge-Strategien angewendet werden (siehe unten). <del class="diffchange diffchange-inline">Bei </del>''verteilten <del class="diffchange diffchange-inline">Datenbanken</del>'' <del class="diffchange diffchange-inline">haben wir es mit verschiedenen </del>Daten an verschiedenen Orten <del class="diffchange diffchange-inline">zu tun - </del>Gegensatz zur Replikation, bei der dieselben Daten - oder ein Teil davon - an verschiedenen Orten verwaltet werden.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Verwandte Konzepte zur Replikation: Bei der ''Versionsverwaltung'' (Verwaltung gleichrangiger Kopien) müssen Merge-Strategien angewendet werden (siehe unten). <ins class="diffchange diffchange-inline">Replikatin ist ein Spezialfall von </ins>''verteilten <ins class="diffchange diffchange-inline">Systemen</ins>''<ins class="diffchange diffchange-inline">: Bei verteilten Datenbanken können verschiedene </ins>Daten an verschiedenen Orten <ins class="diffchange diffchange-inline">sein, im </ins>Gegensatz zur Replikation, bei der dieselben Daten - oder ein Teil davon - an verschiedenen Orten verwaltet werden.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Nur lesende oder lesende &amp; schreibende Zugriffe: Ändernde Datenzugriffe machen für die Replikation im Allgemeinen aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Man unterscheidet daher '''Single Master''', bei der Änderungen nur von einem einzigen Master akzeptiert werden, und '''Multi-Master'''.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Nur lesende oder lesende &amp; schreibende Zugriffe: Ändernde Datenzugriffe machen für die Replikation im Allgemeinen aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Man unterscheidet daher '''Single Master''', bei der Änderungen nur von einem einzigen Master akzeptiert werden, und '''Multi-Master'''.</div></td></tr> <tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l25" >Zeile 25:</td> <td colspan="2" class="diff-lineno">Zeile 25:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* '''Asynchrone Replikation''': Bei der asynchronen Replikation liegt zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch). Eine einfache Variante der asynchronen Replikation ist die „File Transfer Replication“, der Transfer von Dateien via FTP oder SSH. Strategien asynchroner Replikation sind Merge-Replikation, Primary Copy, Snapshot-Replikation und Standby-Replikation. Die Vorteile der Commit-Protokoll werden erkauft durch einen hohen Updateaufwand, erhöhter Speicherplatzbedarf und v.a. dem Problem, dass Konflikte entstehen können, die im schlimmsten Fall nur durch manuellen Eingriff gelöst werden können.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* '''Asynchrone Replikation''': Bei der asynchronen Replikation liegt zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch). Eine einfache Variante der asynchronen Replikation ist die „File Transfer Replication“, der Transfer von Dateien via FTP oder SSH. Strategien asynchroner Replikation sind Merge-Replikation, Primary Copy, Snapshot-Replikation und Standby-Replikation. Die Vorteile der Commit-Protokoll werden erkauft durch einen hohen Updateaufwand, erhöhter Speicherplatzbedarf und v.a. dem Problem, dass Konflikte entstehen können, die im schlimmsten Fall nur durch manuellen Eingriff gelöst werden können.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Replikation auf Betriebssystem- und Hardware-Ebene ==</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Über Treiber oder Hardware (disk array controller) werden Blocks devices in aktive und in Echtzeit an verschiedene physische Harddisks verteilt. Das File system &quot;merkt&quot; davon nichts und muss nicht konfiguriert werden. Eine tyische Methode, wenn die Harddisks direkt miteinander verbindbar sind, ist Disk mirroring.</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Weblinks / Quellen ==</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* Replikation in PostgreSQL</ins></div></td></tr> </table> Stefan https://giswiki.hsr.ch/index.php?title=Replikation&diff=25804&oldid=prev Stefan am 24. Januar 2010 um 12:33 Uhr 2010-01-24T12:33:46Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='de-CH'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 24. Januar 2010, 12:33 Uhr</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l16" >Zeile 16:</td> <td colspan="2" class="diff-lineno">Zeile 16:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Verwandte Konzepte zur Replikation: Bei der ''Versionsverwaltung'' (Verwaltung gleichrangiger Kopien) müssen Merge-Strategien angewendet werden (siehe unten). Bei ''verteilten Datenbanken'' haben wir es mit verschiedenen Daten an verschiedenen Orten zu tun - Gegensatz zur Replikation, bei der dieselben Daten - oder ein Teil davon - an verschiedenen Orten verwaltet werden.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Verwandte Konzepte zur Replikation: Bei der ''Versionsverwaltung'' (Verwaltung gleichrangiger Kopien) müssen Merge-Strategien angewendet werden (siehe unten). Bei ''verteilten Datenbanken'' haben wir es mit verschiedenen Daten an verschiedenen Orten zu tun - Gegensatz zur Replikation, bei der dieselben Daten - oder ein Teil davon - an verschiedenen Orten verwaltet werden.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Nur lesende oder lesende &amp; schreibende Zugriffe: Ändernde Datenzugriffe machen für die Replikation im Allgemeinen aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Man unterscheidet daher Single Master, bei der Änderungen nur von einem einzigen Master akzeptiert werden und Multi-Master.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Nur lesende oder lesende &amp; schreibende Zugriffe: Ändernde Datenzugriffe machen für die Replikation im Allgemeinen aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Man unterscheidet daher <ins class="diffchange diffchange-inline">'''</ins>Single Master<ins class="diffchange diffchange-inline">'''</ins>, bei der Änderungen nur von einem einzigen Master akzeptiert werden<ins class="diffchange diffchange-inline">, </ins>und <ins class="diffchange diffchange-inline">'''</ins>Multi-Master<ins class="diffchange diffchange-inline">'''</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Häufigkeit: Zunächst muss bestimmt werden, welche Datenbankobjekte wie häufig sie repliziert werden müssen. &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>;Häufigkeit: Zunächst muss bestimmt werden, welche Datenbankobjekte wie häufig sie repliziert werden müssen. &#160;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Aktualität: Es ist auch wichtig zu wissen, welche Aktualität die Replikate besitzen müssen. Die Zeitspanne zwischen der Bearbeitung/Erstellung der Primärdaten und ihrer Replizierung wird als timeliness, meist aber als latency bezeichnet. Damit verknüpft ist die Unterscheidung zwischen synchroner und asynchroner Replikation <del class="diffchange diffchange-inline">ab</del>: &#160;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Aktualität: Es ist auch wichtig zu wissen, welche Aktualität die Replikate besitzen müssen. Die Zeitspanne zwischen der Bearbeitung/Erstellung der Primärdaten und ihrer Replizierung wird als timeliness, meist aber als latency bezeichnet. Damit verknüpft ist die Unterscheidung zwischen synchroner und asynchroner Replikation: &#160;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">;</del>Synchrone Replikation: Bei synchroner Replikation werden Änderungsoperationen an einem Datenobjekt nur dann erfolgreich abgeschlossen, wenn sie auch auf den Replikaten durchgeführt wurden (vgl. Atomarität (Unteilbarkeit) von Transaktionen, Commit-Protokoll). Hot Standby Replikation von MS SQL-Server ist ein Beispiel dafür.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">* '''</ins>Synchrone Replikation<ins class="diffchange diffchange-inline">'''</ins>: Bei synchroner Replikation werden Änderungsoperationen an einem Datenobjekt nur dann erfolgreich abgeschlossen, wenn sie auch auf den Replikaten durchgeführt wurden (vgl. Atomarität (Unteilbarkeit) von Transaktionen, Commit-Protokoll). Hot Standby Replikation von MS SQL-Server ist ein Beispiel dafür.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">;</del>Asynchrone Replikation: Bei der asynchronen Replikation liegt zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch). Eine einfache Variante der asynchronen Replikation ist die „File Transfer Replication“, der Transfer von Dateien via FTP oder SSH. Strategien asynchroner Replikation sind Merge-Replikation, Primary Copy, Snapshot-Replikation und Standby-Replikation. Die Vorteile der Commit-Protokoll werden erkauft durch einen hohen Updateaufwand, erhöhter Speicherplatzbedarf und v.a. dem Problem, dass Konflikte entstehen können, die im schlimmsten Fall nur durch manuellen Eingriff gelöst werden können.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">* '''</ins>Asynchrone Replikation<ins class="diffchange diffchange-inline">'''</ins>: Bei der asynchronen Replikation liegt zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch). Eine einfache Variante der asynchronen Replikation ist die „File Transfer Replication“, der Transfer von Dateien via FTP oder SSH. Strategien asynchroner Replikation sind Merge-Replikation, Primary Copy, Snapshot-Replikation und Standby-Replikation. Die Vorteile der Commit-Protokoll werden erkauft durch einen hohen Updateaufwand, erhöhter Speicherplatzbedarf und v.a. dem Problem, dass Konflikte entstehen können, die im schlimmsten Fall nur durch manuellen Eingriff gelöst werden können.</div></td></tr> </table> Stefan https://giswiki.hsr.ch/index.php?title=Replikation&diff=25803&oldid=prev Stefan am 24. Januar 2010 um 12:31 Uhr 2010-01-24T12:31:45Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='de-CH'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 24. Januar 2010, 12:31 Uhr</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l4" >Zeile 4:</td> <td colspan="2" class="diff-lineno">Zeile 4:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [[PostgreSQL]]</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [[PostgreSQL]]</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Synchronisieren: Siehe z.B. die Tools für WikiPad http://trac.wikidpad2.webfactional.com/wiki/Sync</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Synchronisieren: Siehe z.B. die Tools für WikiPad http://trac.wikidpad2.webfactional.com/wiki/Sync</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Was ist Replikation? ==</ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Replikation dient einerseits zur Datensicherung; andererseits der Performanz, d.h. der Verkürzung Antwortzeiten, besonders für lesende Datenzugriffe. &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Replikation dient einerseits zur Datensicherung; andererseits der Performanz, d.h. der Verkürzung Antwortzeiten, besonders für lesende Datenzugriffe. &#160;</div></td></tr> </table> Stefan https://giswiki.hsr.ch/index.php?title=Replikation&diff=25802&oldid=prev Stefan: Die Seite wurde neu angelegt: „Replikation (Datenverarbeitung) oder Replizierung bezeichnet die mehrfache Speicherung von Daten an unterschiedlichen Standorten. Siehe auch * PostgreSQL *…“ 2010-01-24T12:31:14Z <p>Die Seite wurde neu angelegt: „Replikation (Datenverarbeitung) oder Replizierung bezeichnet die mehrfache Speicherung von Daten an unterschiedlichen Standorten. Siehe auch * <a href="/PostgreSQL" title="PostgreSQL">PostgreSQL</a> *…“</p> <p><b>Neue Seite</b></p><div>Replikation (Datenverarbeitung) oder Replizierung bezeichnet die mehrfache Speicherung von Daten an unterschiedlichen Standorten. <br /> <br /> Siehe auch <br /> * [[PostgreSQL]]<br /> * Synchronisieren: Siehe z.B. die Tools für WikiPad http://trac.wikidpad2.webfactional.com/wiki/Sync<br /> <br /> Replikation dient einerseits zur Datensicherung; andererseits der Performanz, d.h. der Verkürzung Antwortzeiten, besonders für lesende Datenzugriffe. <br /> <br /> Es gibt verschiedene '''Gründe und Vorteile''' für die Replikation:<br /> * Verfügbarkeit<br /> * Performance<br /> * Disconnected Computing (z.B. für Mobiles)<br /> <br /> ;Verwandte Konzepte zur Replikation: Bei der ''Versionsverwaltung'' (Verwaltung gleichrangiger Kopien) müssen Merge-Strategien angewendet werden (siehe unten). Bei ''verteilten Datenbanken'' haben wir es mit verschiedenen Daten an verschiedenen Orten zu tun - Gegensatz zur Replikation, bei der dieselben Daten - oder ein Teil davon - an verschiedenen Orten verwaltet werden.<br /> <br /> ;Nur lesende oder lesende &amp; schreibende Zugriffe: Ändernde Datenzugriffe machen für die Replikation im Allgemeinen aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Man unterscheidet daher Single Master, bei der Änderungen nur von einem einzigen Master akzeptiert werden und Multi-Master.<br /> <br /> ;Häufigkeit: Zunächst muss bestimmt werden, welche Datenbankobjekte wie häufig sie repliziert werden müssen. <br /> <br /> ;Aktualität: Es ist auch wichtig zu wissen, welche Aktualität die Replikate besitzen müssen. Die Zeitspanne zwischen der Bearbeitung/Erstellung der Primärdaten und ihrer Replizierung wird als timeliness, meist aber als latency bezeichnet. Damit verknüpft ist die Unterscheidung zwischen synchroner und asynchroner Replikation ab: <br /> <br /> ;Synchrone Replikation: Bei synchroner Replikation werden Änderungsoperationen an einem Datenobjekt nur dann erfolgreich abgeschlossen, wenn sie auch auf den Replikaten durchgeführt wurden (vgl. Atomarität (Unteilbarkeit) von Transaktionen, Commit-Protokoll). Hot Standby Replikation von MS SQL-Server ist ein Beispiel dafür.<br /> <br /> ;Asynchrone Replikation: Bei der asynchronen Replikation liegt zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch). Eine einfache Variante der asynchronen Replikation ist die „File Transfer Replication“, der Transfer von Dateien via FTP oder SSH. Strategien asynchroner Replikation sind Merge-Replikation, Primary Copy, Snapshot-Replikation und Standby-Replikation. Die Vorteile der Commit-Protokoll werden erkauft durch einen hohen Updateaufwand, erhöhter Speicherplatzbedarf und v.a. dem Problem, dass Konflikte entstehen können, die im schlimmsten Fall nur durch manuellen Eingriff gelöst werden können.</div> Stefan