3 Stimmen

SQL-Server Replikationsberatung

Wir haben ein Szenario

Eine Haupt-E-Commerce-Website - die derzeit viele Besucher anzieht.

Drei "markenspezifische" Unterseiten, die von dieser Seite abhängen - jede dieser Seiten wird im Laufe der Zeit möglicherweise den gleichen Verkehr haben.

Der Kunde verlangt, dass die Bestellabwicklung für jede Markenwebsite an einem Ort erfolgt (d. h. einem Backoffice).

Welche Topologie sollten wir wählen? Wir denken, dass es vielleicht sinnvoll ist, einen Haupt-SQL-Server mit Lese- und Schreibzugriffen vom Backoffice zu haben und diese Daten auf "markenspezifische" SQL-Server-Instanzen zu replizieren. Jede markenspezifische Website hätte ihren eigenen dedizierten SQL-Server für Frontoffice "Lesezugriffe". Alle Schreibvorgänge, die wir durchführen, würden zum Hauptdatenbankserver zurückgehen, um den Lagerbestand aktuell zu halten.

Irgendwelche Gedanken? Zukünftige Skalierbarkeit ist ein wichtiger Faktor.

1voto

John Sansom Punkte 40295

Ohne ein detaillierteres Verständnis davon zu haben, wie Ihre Anwendung funktionieren soll, ist es schwierig, Ihnen klare Anweisungen zu geben.

Ihre vorgeschlagene Implementierung eines zentralen Servers (Publisher), der Lese- und Schreibvorgänge unterstützt, mit einer Anzahl zusätzlicher standortspezifischer Server (Abonnenten) nur für Lesevorgänge, ist sicherlich plausibel. Dies hat den zusätzlichen Vorteil, dass Sie die Flexibilität haben, nur die Tabellen zu replizieren, die für Leseabfragen erforderlich sind, d.h. Ihr zentraler Server wird wahrscheinlich Daten wie Lieferanteninformationen, Abrechnung usw. verwalten, die nicht an Abonnenten weitergegeben werden müssen.

Ihr zentraler Server wird wahrscheinlich Ihr Knackpunkt sein, da alle anderen Server Schreibvorgänge dorthin leiten werden. Der Standort Ihrer verteilten Standorte, d.h. wie weit sie vom zentralen Server entfernt sind, wird auch die Transaktionslatenz Ihrer replizierten Umgebung beeinflussen.

Wenn Sie alle Ihre Datenbankdaten an den verteilten Standorten nur als schreibgeschützt darstellen möchten, können Sie möglicherweise Log Shipping dafür in Betracht ziehen. Der Nachteil dieser Implementierung ist jedoch, dass Ihre Anwendung wissen muss, dass nur Lesevorgänge auf dem lokalen Server verarbeitet werden können und alle Schreibvorgänge zum zentralen Server geroutet werden müssen.

Ich hoffe, das hilft, aber zögern Sie nicht, zusätzliche Fragen zu stellen.

Viele Grüße, John

0voto

Keine spezifische Antwort auf deine Frage, aber Youtube Skalierung ist ein interessantes Video über die Skalierung von Youtube. Vielleicht gibt es dir einige Ideen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X