Writer / Reader Datenbank System

26/11/2008 - 13:41 von telly.news | Report spam
Ola!

Ich bin gerade dabei für ein Projekt in der Uni ein Datenbank System
auf den Microsoft SQL Server 2008 aufzusetzen.

Als eine mögliche Lösungsalternative habe ich dabei ein Reader /
Writer-System vorgesehen. Dabei sollen die neuen Datensàtze in eine
Writer- Datenbank System geschrieben werden, die außer einem Primary
Key (oder höchstens einem Indize) keine weiteren "Einschrànkungen
hat, so dass neue Datensàtze sehr performant eingefügt werden können.
Im Hintergrund soll dann diese Writer-Datenbank mit einer Reader-
Datenbank syncronisiert werden, die àhnlich einem DWH durch mehrere
Indizes eine schnelle Auswertung der vorhandenen Daten ermöglichen
soll. Somit soll ein System entstehen, in dem sowohl schnelle Insert-
als auch schneller Select-Statements möglich sind.

Soweit zur Theorie / Hintergrund. Ich habe jetzt bereits einige Wege
und Dinge angeschaut, aber irgendwie waren diese alle nicht
befriedigend.

- Datenbank Replikation über den SQL Server 1:
-
Bei der Datenbank Replikation habe ich das Problem, dass die Daten des
Writer-Systems zwar auf den Reader gespiegelt wurden, die Daten auf
dem Reader-System aber nicht mit weiteren Indize versehen werden
konnten. Ist dies kategorisch nicht möglich oder habe ich das nur
falsch konfiguriert?

- Datenbank Replikation über den SQL Server 2:
-
Ab liebsten würde ich es so machen, dass im Writer-System alle Daten
in eine Tabelle geschrieben werden, im Reader System die Daten dann
aber auf verschiedene Tabelle aufgeteilt werden. Dazu müsste aber die
RepliakationsReaderDatenbank "quasi" zerschnitten werden, was
natürlich aufgrunbd der Replikation nicht möglich ist. Ein denkbarer
Ansatz wàhre an dieser Stelle über dem Input Timestamp zu gehen und
dann die Datensàtze per SSIS zu "verteilen". Allerdings bin ich da
nicht wirlich weiter gekommen, wàhre über den ein oder anderen Tip an
dieser Stelle sehr dankbar.

- Datenbank Replikation über den SQL Server 3:
-
Ist dies überhaupt die richtige Vorgehensweise? Oder gibt es für solch
ein Vorhaben einen besseren / einfacheren Weg? Zum Beispiel direkt per
SSIS auf die Writer Datenbank oder gar ein ganz anderer Ansatz?


Schon einmal dankend für die Hilfe verbleibe ich mit freundlichen
Grüßen,

Volker
 

Lesen sie die antworten

#1 Bodo Michael Danitz
26/11/2008 - 19:32 | Warnen spam
Hi,

man kann ein Replikat auch ohne Indexe erstellen, um es dann beliebig anders
zu indizieren.

Bodo Michael Danitz
MCITP Database Administrator
www.sql-server.de



schrieb im Newsbeitrag
news:
Ola!

Ich bin gerade dabei für ein Projekt in der Uni ein Datenbank System
auf den Microsoft SQL Server 2008 aufzusetzen.

Als eine mögliche Lösungsalternative habe ich dabei ein Reader /
Writer-System vorgesehen. Dabei sollen die neuen Datensàtze in eine
Writer- Datenbank System geschrieben werden, die außer einem Primary
Key (oder höchstens einem Indize) keine weiteren "Einschrànkungen
hat, so dass neue Datensàtze sehr performant eingefügt werden können.
Im Hintergrund soll dann diese Writer-Datenbank mit einer Reader-
Datenbank syncronisiert werden, die àhnlich einem DWH durch mehrere
Indizes eine schnelle Auswertung der vorhandenen Daten ermöglichen
soll. Somit soll ein System entstehen, in dem sowohl schnelle Insert-
als auch schneller Select-Statements möglich sind.

Soweit zur Theorie / Hintergrund. Ich habe jetzt bereits einige Wege
und Dinge angeschaut, aber irgendwie waren diese alle nicht
befriedigend.

- Datenbank Replikation über den SQL Server 1:
-
Bei der Datenbank Replikation habe ich das Problem, dass die Daten des
Writer-Systems zwar auf den Reader gespiegelt wurden, die Daten auf
dem Reader-System aber nicht mit weiteren Indize versehen werden
konnten. Ist dies kategorisch nicht möglich oder habe ich das nur
falsch konfiguriert?

- Datenbank Replikation über den SQL Server 2:
-
Ab liebsten würde ich es so machen, dass im Writer-System alle Daten
in eine Tabelle geschrieben werden, im Reader System die Daten dann
aber auf verschiedene Tabelle aufgeteilt werden. Dazu müsste aber die
RepliakationsReaderDatenbank "quasi" zerschnitten werden, was
natürlich aufgrunbd der Replikation nicht möglich ist. Ein denkbarer
Ansatz wàhre an dieser Stelle über dem Input Timestamp zu gehen und
dann die Datensàtze per SSIS zu "verteilen". Allerdings bin ich da
nicht wirlich weiter gekommen, wàhre über den ein oder anderen Tip an
dieser Stelle sehr dankbar.

- Datenbank Replikation über den SQL Server 3:
-
Ist dies überhaupt die richtige Vorgehensweise? Oder gibt es für solch
ein Vorhaben einen besseren / einfacheren Weg? Zum Beispiel direkt per
SSIS auf die Writer Datenbank oder gar ein ganz anderer Ansatz?


Schon einmal dankend für die Hilfe verbleibe ich mit freundlichen
Grüßen,

Volker

Ähnliche fragen