SamanthaCox
Neuer Benutzer
- Beiträge
- 2
Hallo!
Ich habe hier mal eine Frage. Macht es einen Sinn mit "verteilten" DBs zu agieren, wenn ohnehin dann alles auf einem Storage-System liegt.
Momentan ist es so: Es gibt eine große zentrale DB auf die viele Benutzer zugreifen und in die viel geschrieben wird. Die Schreibzugriffe eines Benutzers A sind aber für den Benutzer B eher irrelevant (B führt eher keine Leseoperationen auf die Datensätze von A durch). Beide Benutzer schreiben aber in die selbe Tabelle.
Ich möchte nun in mehrere DBs aufteilen, sodass 1. die einzelnen DBs wesentlich kleiner sind und 2. einzelne DBs auch nur für ein Subset der Benutzer da sind, sodass nicht alle in die selbe DB schreiben. Letzendlich wird aber zur Speicherung trotzdem das vorhandene Storage verwendet werden.
Meine Frage jetzt:
Macht eine Aufteilung unter diesen Vorrausetzungen Sinn?
Gehen wir davon aus, dass die Aufteilung gemacht ist und überlegen, was das für Performance-Vorteile bringen könnte.
(1) Kann bspw. eine Aufteilung in mehrere LUNs am Storage-System (je eins für jede der kleinen DBs) Vorteile bringen, weil das Storage nicht mehr alles in die selbe LUN schreiben muss?
(2) Ist es vielleicht von Vorteil, weil die DBs kleiner sind und Index-Updates dadurch schneller sind?
(3) Ist es möglicherweise auch ein Vorteil, weil die Schreibzugriffe besser parallelisierbar sind (nicht alle auf dieselbe DB). (Bei einer zentralen DB müssen vielleicht öfters Clients warten, weil grad wer anders schreibt)
Oder ist es vielleicht so, dass es eh nix bringt weil:
ad (1) Das Storage System kann das intelligent handeln und auf die Disks verteilen, weswegen eine Aufteilung keinen Vorteil bringt
ad (2) Die Index-Updates sind von logarithmischer Komplexität und der Vorteil ist deshalb vernachlässigbar
ad (3) Da sich die Datensätze der einzelnen Benutzer nicht gegenseitig Sperren (jeder schreibt nur sein eigenes Zeugs, und das der anderen interessiert sie nicht) sind die Schreibzugriffe auch auf einer zentralen DB ausreichend parallelisierbar
Kann jemand etwas dazu sagen.
lg,
Sam
Ich habe hier mal eine Frage. Macht es einen Sinn mit "verteilten" DBs zu agieren, wenn ohnehin dann alles auf einem Storage-System liegt.
Momentan ist es so: Es gibt eine große zentrale DB auf die viele Benutzer zugreifen und in die viel geschrieben wird. Die Schreibzugriffe eines Benutzers A sind aber für den Benutzer B eher irrelevant (B führt eher keine Leseoperationen auf die Datensätze von A durch). Beide Benutzer schreiben aber in die selbe Tabelle.
Ich möchte nun in mehrere DBs aufteilen, sodass 1. die einzelnen DBs wesentlich kleiner sind und 2. einzelne DBs auch nur für ein Subset der Benutzer da sind, sodass nicht alle in die selbe DB schreiben. Letzendlich wird aber zur Speicherung trotzdem das vorhandene Storage verwendet werden.
Meine Frage jetzt:
Macht eine Aufteilung unter diesen Vorrausetzungen Sinn?
Gehen wir davon aus, dass die Aufteilung gemacht ist und überlegen, was das für Performance-Vorteile bringen könnte.
(1) Kann bspw. eine Aufteilung in mehrere LUNs am Storage-System (je eins für jede der kleinen DBs) Vorteile bringen, weil das Storage nicht mehr alles in die selbe LUN schreiben muss?
(2) Ist es vielleicht von Vorteil, weil die DBs kleiner sind und Index-Updates dadurch schneller sind?
(3) Ist es möglicherweise auch ein Vorteil, weil die Schreibzugriffe besser parallelisierbar sind (nicht alle auf dieselbe DB). (Bei einer zentralen DB müssen vielleicht öfters Clients warten, weil grad wer anders schreibt)
Oder ist es vielleicht so, dass es eh nix bringt weil:
ad (1) Das Storage System kann das intelligent handeln und auf die Disks verteilen, weswegen eine Aufteilung keinen Vorteil bringt
ad (2) Die Index-Updates sind von logarithmischer Komplexität und der Vorteil ist deshalb vernachlässigbar
ad (3) Da sich die Datensätze der einzelnen Benutzer nicht gegenseitig Sperren (jeder schreibt nur sein eigenes Zeugs, und das der anderen interessiert sie nicht) sind die Schreibzugriffe auch auf einer zentralen DB ausreichend parallelisierbar
Kann jemand etwas dazu sagen.
lg,
Sam