Larius
OutOfOrder
- Registriert
- 12 Juli 2013
- Beiträge
- 5.792
Hallo alle zusammen,
mir spukt schon seit längerem eine Idee durch den Kopf, die aber noch ein paar Macken hat. Es geht hierbei um die 1:1 Kopie (alle Tabellen, Constraints und Datensätze) von einer in eine andere Datenbank. Hierbei ist soll es jedoch keine Rolle spielen welche Datenbanksysteme im Hintergrund laufen, sondern es geht rein um die Performance der Operation, da eine Datenbank mit beliebiger Größe in angemessener Zeit (also keine Dauer mehreren Wochen für eine einfache Kopie) kopiert werden soll.
Ich habe mir überlegt das ich pro Tabelle zumindest 1 Thread abstelle bzw. einen Threadpool inder Größe der Anzahl der Tabellen anlege. Dies hätte den Vorteil das kleinere Tabellen, welche fertig abgearbeitet worden sind, keine Systemressourcen blockieren bzw. der Thread in einer anderen Tabelle die Datensätze abarbeiten kann. Jetzt stellt sich nur eine Frage: Schafft überhaupt eine Datenbank, soviele Requests gleichzeitig abzuarbeiten? Da ich nämlich auch vorhabe für jeden Datensatz eine Checksumme anzulegen, um sicher zu stellen das die DB auch danach in dem richtigen Zustand ist, würde also nicht 1 Datensatz, sondern 2 in die neue DB kopiert werden.
Übersehe ich da irgendwas oder werde ich mit dem Verfahren meine Datenbank komplett plätten?
mir spukt schon seit längerem eine Idee durch den Kopf, die aber noch ein paar Macken hat. Es geht hierbei um die 1:1 Kopie (alle Tabellen, Constraints und Datensätze) von einer in eine andere Datenbank. Hierbei ist soll es jedoch keine Rolle spielen welche Datenbanksysteme im Hintergrund laufen, sondern es geht rein um die Performance der Operation, da eine Datenbank mit beliebiger Größe in angemessener Zeit (also keine Dauer mehreren Wochen für eine einfache Kopie) kopiert werden soll.
Ich habe mir überlegt das ich pro Tabelle zumindest 1 Thread abstelle bzw. einen Threadpool inder Größe der Anzahl der Tabellen anlege. Dies hätte den Vorteil das kleinere Tabellen, welche fertig abgearbeitet worden sind, keine Systemressourcen blockieren bzw. der Thread in einer anderen Tabelle die Datensätze abarbeiten kann. Jetzt stellt sich nur eine Frage: Schafft überhaupt eine Datenbank, soviele Requests gleichzeitig abzuarbeiten? Da ich nämlich auch vorhabe für jeden Datensatz eine Checksumme anzulegen, um sicher zu stellen das die DB auch danach in dem richtigen Zustand ist, würde also nicht 1 Datensatz, sondern 2 in die neue DB kopiert werden.
Übersehe ich da irgendwas oder werde ich mit dem Verfahren meine Datenbank komplett plätten?