Erforschung des Kipppunkts der Sharding

Alles was sonst nirgends rein passt.
Antworten
GH0ST3Y
Neuer Benutzer
Beiträge: 1
Registriert: Mi 4. Dez 2019, 15:03

Erforschung des Kipppunkts der Sharding

Beitrag von GH0ST3Y » Mi 4. Dez 2019, 15:44

Hallo!

Ich recherchiere derzeit für ein Uni-Projekt, bei dem es von Vorteil ist, eine Postgresql database zu sharden.
Ich habe ein Setup mit 3 doppelten Servern erstellt, die 11 Terabyte pro Stück aufnehmen können mitt der Stackoverflow database auf PostgreSQL 11.

Zuerst möchte ich die Leistung auf einem einzelnen node, dann auf einem einzelnen node mit Partitionierung und schließlich auf mehreren nodes mit Sharding messen. Für die Metriken denke ich an die Verwendung von SQLQueryStress.

Ich bin ein PostgreSQL-Neuling und habe mich gefragt, ob jemand ein Feedback zu meiner Idee geben möchte. Ich würde gerne etwas Neues machen, aber das ist schwer in Bezug auf meine Unerfahrenheit.

Mit freundlichen Grüßen

P.S.
Außerdem bin ich niederländisch, so ist mein Deutsch nicht perfekt :)

akretschmer
Erfahrener Benutzer
Beiträge: 7683
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Erforschung des Kipppunkts der Sharding

Beitrag von akretschmer » Mi 4. Dez 2019, 16:38

Mit sharding kann ich Dir aus dem handgelenk jetzt nicht viel sagen, aber Partitionierung: das ist in 12 erheblich schneller und besser als in 11.

https://www.2ndquadrant.com/en/blog/pos ... titioning/

Was ist das Ziel mit Sharding, was ihr erreichen wollt?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

castorp
Erfahrener Benutzer
Beiträge: 1177
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: Erforschung des Kipppunkts der Sharding

Beitrag von castorp » Do 5. Dez 2019, 09:31

Ich glaube nicht dass das Testen einzelner (isolierter) Statements eine vernünftige Beurteilung der Vorteile von Sharding zeigen könnte.

Nach meinem Verständnis wird Sharding erst dann einen Vorteil bieten wenn viele Zugriffe gleichzeitig erfolgen die auf die verschiedenen Shards verteile werden können. Z.B. wenn mehrere Auswertungen die nur Daten für ein Land benötigen gleichzeitig laufen. Wenn die Daten eines Landes jeweils auf einem eigenen Shard liegen, dann ist der Gesamtdurchsatz sicher höher. Jede Abfrage für sich wird dadurch aber nicht schneller.

Deswegen wäre vermutlich ein Lasttest-Tool wie pgbench (dort kann man die SQL Statements auch konfigurieren), HammerDB oder eventuell JMeter die bessere Wahl.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Antworten