Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   verteilte Datenbanken (https://www.delphipraxis.net/187256-verteilte-datenbanken.html)

khh 12. Nov 2015 06:28

Datenbank: mySQL • Version: 5.5x • Zugriff über: diverse

verteilte Datenbanken
 
Hallo zusammen, hat jemand von euch tiefere Erfahrung mit verteilten Datenbanken, Technik etc. ?

oder nen Link?

Danke für eure Info.

Dejan Vu 12. Nov 2015 06:47

AW: verteilte Datenbanken
 
Was willst Du damit machen? Willst Du ein Schema auf verschiedene Server verteilen? Dann wäre SOA vielleicht die bessere (oder zumindest eine andere) Möglichkeit.

khh 12. Nov 2015 06:54

AW: verteilte Datenbanken
 
Ja, das möchte ich.
mySQL als DBMS ist aber vorgegeben.

mkinzler 12. Nov 2015 07:08

AW: verteilte Datenbanken
 
Verschiedene Server (Rechner), Serverdienste (Instanzen) oder verschiedene Datenbanken?
Ersteres würde ich nicht empfehlen, mehrere Instanzen bringen heutzutage auch keinen Mehrwert mehr ( unter 32-Bit hatte man da Vorteile).
Wenn mehrere Server dann MultiTier (wie Dejan Vu schon vorgeschlagen hat):

Clients -> MiddleWare -> Databases

khh 12. Nov 2015 07:11

AW: verteilte Datenbanken
 
Es geht um die Optimierung einer bestehenden MyQSL -Datenbank. Hier als _eine_ Alternative einen zweiten Rechner einzusetzen.

EDIT: Prinzipiell soll MySQL das doch können, oder ?

mkinzler 12. Nov 2015 07:15

AW: verteilte Datenbanken
 
Was meinst Du mit Optimierung?

Bernhard Geyer 12. Nov 2015 07:16

AW: verteilte Datenbanken
 
Zitat:

Zitat von khh (Beitrag 1321225)
Es geht um die Optimierung einer bestehenden MyQSL -Datenbank. Hier als _eine_ Alternative einen zweiten Rechner einzusetzen.

Und wieso reicht ein Rechner nicht? Ist die Datenbank so rießig (>> 100 GB) oder greifen so viele User darauf zu (>> 1000)?
Wurde schon die Konfiguration optimiert (je nach Installation ist hier MySQL sehr "konvervativ" eingestellt)?
Was ist mit der Anwendungslogik? Ein vielzahl der Performanceprobleme sind auf nicht optimierten Zugriff der entsprechenden Anwendungen zurückzuführen.
Welche art von Anwendung läuft? Fat-Client/Server-App? Wie ist die Verteilung von Client und Server? Teilweise sind hier Ungünstige Konstellationen (Anwendung/Server steht (Ping-Technisch) sehr weit von der DB entfernt)
...

wenn man nicht aufpasst sorgt eine ungünstige Verteilung dafür das die Anwendung nach aktivieren des zweiten Rechnerns viel langsamer läuft.

khh 12. Nov 2015 07:24

AW: verteilte Datenbanken
 
Es geht einfach darum zusätzlich zu der Optimierung der Konfiguration, der Abfragen und der (DB-)Tabellen-Struktur etc. als Alternative oder Ergänzung einen 2ten Server mit einzubinden.
Dabei stellt sich die Frage bringt das überhaupt was und wie funktioniert das technisch unter MySQL.

mkinzler 12. Nov 2015 07:30

AW: verteilte Datenbanken
 
Ich glaube nicht das das lohnt. Sobald Abhängigkeiten zwischen den Tabellen bestehen (Joins/SP/..) bremst dies eher.

Aber Du hast unsere Nachfragen nicht wirklich beantwortet. Was willst Du Optimieren? Anzahl der parallelen Zugriffe? Datensicherheit (Replikation)?

jobo 12. Nov 2015 07:36

AW: verteilte Datenbanken
 
Zitat:

Zitat von khh (Beitrag 1321225)
Es geht um die Optimierung einer bestehenden MyQSL -Datenbank. Hier als _eine_ Alternative einen zweiten Rechner einzusetzen.

EDIT: Prinzipiell soll MySQL das doch können, oder ?

Also ich hab das mit mySQL noch nie gemacht, aber dachte eigentlich, (wenigstens) das sei ein cooles Merkmal von mySQL.
Es liegt mir fern, Werbung für mySQL zu machen, aber die Ablehnung in den ersten Antworten hat mich überrascht. Wie gesagt, hab da keine Erfahrung mit mySQL.

Hier mal einer der ersten Treffer zum Thema Cluster:
https://blog.hkn.de/4566/mal-eben-ei...luster-anlegen

Auch wenn es offenbar keine Option ist, würde ich aber mal perspektivisch über ein anderes System nachdenken. PostgreSQL z.B. oder andere

Was die Leistung einer DB angeht, hatten wir hier die letzten Tage noch das Thema SP usw.
Allgemeiner Rat als Alternative zur Hardwareaufrüstung: Anwendungstuning
Wenn an ein paar Stellen Verbesserungen gemacht werden können, kann das in Summe viel bringen (mehr als die einzelne Verbesserung, also 1+1=3). Gerade bei mySQL, habe ich den Eindruck, wird viel rumgewürgt, weil das System wenig kann. Falscher (oder unnötiger) Einsatz von Locks bspw. kann auch ein Cluster problemlos flach legen.

Oder noch mal anders formuliert:
Mit Anwendungstuning (SQL und Zugriffstechnik) kann man stellenweise Steigerungen von Faktor 10 oder 100 rausholen. Mit einer Verdoppelung der Hardware eben nur Faktor 2. (konservative Schätzung)

Wenn man sich nun fragt, was das den ungetuneten Bereichen hilft:
Wenn die schlimmsten Anforderungspeaks bereinigt werden können, kann der ganze Rest auch ungebremst, also schneller abgearbeitet werden.

Geht es um ein Shopsystem? Oder um was ganz anderes?

khh 12. Nov 2015 07:47

AW: verteilte Datenbanken
 
Zitat:

Zitat von mkinzler (Beitrag 1321232)

Aber Du hast unsere Nachfragen nicht wirklich beantwortet. Was willst Du Optimieren? Anzahl der parallelen Zugriffe? Datensicherheit (Replikation)?

Datensicherheit ist in dem Zusammenhang nicht das Thema.
Es geht einfach darum ob, und wie weit die Zugriffsgeschwindigkeit und auch die Anzahl der parallelen Zugriffe durch einen zweiten Server verbessert werden kann.

khh 12. Nov 2015 07:52

AW: verteilte Datenbanken
 
Zitat:

Zitat von jobo (Beitrag 1321235)

Was die Leistung einer DB angeht, hatten wir hier die letzten Tage noch das Thema SP usw.


SP ist natürlich im Zuge der Optimierung auch ein Thema.
Es geht mir hier aber einfach nur darum, unabhängig von den anderen Optimierungsmöglichkeiten, ob der Einsatz eines zweiten Rechner was bringt und wie der mit MySQL umgesetzt werden kann.
Das Galera ist da sicher schon mal ein Ansatz zur techn. Umsetzung.

mkinzler 12. Nov 2015 08:10

AW: verteilte Datenbanken
 
Noch mal die Frage, was wikllst Du optimieren?

Anfragen beschleunigen oder Anzahl der paralellen Zugriffe erhöhen?

jobo 12. Nov 2015 08:18

AW: verteilte Datenbanken
 
Zitat:

Zitat von khh (Beitrag 1321243)
Es geht mir hier aber einfach nur darum, unabhängig von den anderen Optimierungsmöglichkeiten, ob der Einsatz eines zweiten Rechner was bringt und wie der mit MySQL umgesetzt werden kann.

Ja, wie gesagt, theoretisch bzw. maximal Faktor 2. Aus 5 Sekunden Wartezeit werden also 2,5 Sekunden. In der Praxis dürfte es weniger sein.

Das hängt natürlich auch von der Nutzung ab (Shop, Datenlogging, DWH, ..).

khh 12. Nov 2015 08:34

AW: verteilte Datenbanken
 
Zitat:

Zitat von mkinzler (Beitrag 1321247)
Noch mal die Frage, was wikllst Du optimieren?

Anfragen beschleunigen oder Anzahl der paralellen Zugriffe erhöhen?

Am Besten natürlich beides.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz