none
MS SQL Datenbankabgleich in Echtzeit RRS feed

  • Frage

  • Hallo Zusammen,

    besteht die Möglichkeit (durch Konfiguration), zwei Datenbanken (MS SQL 2012) unterschiedlicher Standorte in Echtzeit miteinander zu synchronisieren?

    Auf die jeweiligen Datenbanken wird schreiben zugegriffen und die Datenstruktur verwendet verschiedene Zwischentabellen, es werden Daten schreibend ausgetauscht und es werden verschachtelte Abfragedaten (u.a. datenbankübergreifend) verwendet.

    Die Abarbeitung innerhalb einer Datenbank erfolgt seriell.

    Könnte dieses Szenario direkt mit MS SQL 2012 umgesetzt werden (z.B. durch  Verwendung von Replikation) oder werden u.U. zusätzliche Komponenten wie das Sync Framework benötigt?

    Danke & Viele Grüße

    Stefan

    Montag, 2. Dezember 2013 07:06

Antworten

  • Hallo Stefan,

    wie definierst Du "Echtzeit"? Millisekunden, Sekunden oder vielleicht eher im Minutenbereich?

    Wenn es im Minutenbereicht ausreicht (also bis zu 1 min), dann kannst Du es in der Tat mit der Mergereplikation lösen. Allerdings setzt die gewissen Anforderungen (ggf. Änderungen) an einer Tabelle voraus, was bei Third Party Produkten/Datenbank schwierige sein kann.

    Z.B. muss eine eindeutige GUID Spalte vorhanden sein, Identity Werte müssen gesondern in der Replikation behandelt werden usw.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Montag, 2. Dezember 2013 08:30
  • Hallo Zusammen,

    1) besteht die Möglichkeit (durch Konfiguration), zwei Datenbanken (MS SQL 2012) unterschiedlicher Standorte in Echtzeit miteinander zu synchronisieren?

    (2) Auf die jeweiligen Datenbanken wird schreiben zugegriffen und die Datenstruktur verwendet verschiedene Zwischentabellen, es werden Daten schreibend ausgetauscht und es werden verschachtelte Abfragedaten (u.a. datenbankübergreifend) verwendet.

    (3) Die Abarbeitung innerhalb einer Datenbank erfolgt seriell.

    ...

    1) Im Prinzip gibt es dafür Replikation. Ich würde hier eher an Peer-to-Peer Transaktionsreplikation denken. Mergereplikation ist da eher zu statisch vom Konzept her, und auch der anfälligste Typ.

    Hier findest Du weitere Hintergründe zu den Varianten: Auswählen des geeigneten Replikationstyps

    2) Das mit der unterschiedlichen Datenstruktur verstehe ich jetzt allerdings nicht ganz. Dann wäre also doch nicht alles identisch synchron vermute ich.

    Bei Datenbankübergreifenden Abfragen wird es natürlich noch eine Ebene komplexer. Da muss man eine Menge beachten. Nicht nur beim Aufbau sondern auch im Betrieb und bei Notfallwiederherstellungen.

    3) serielle Abarbeitung? Soll das heißen es greift immer nur ein Prozess gleichzeitig auf ein Objekt, seriell nach einem anderen drauf zu?

    Interessant. Aber letztlich sollte das nicht so entscheidend sein.

    PS: aber wie Olaf schon sagte, "Echtzeit" ist letztlich nicht wirklich möglich. Es wir immer einen gewissen Zeitversatz geben.



    Andreas Wolter | Microsoft Certified Master SQL Server

    Blog: www.insidesql.org/blogs/andreaswolter
    Web: www.andreas-wolter.com | www.SarpedonQualityLab.com

    Montag, 2. Dezember 2013 09:38

Alle Antworten