Hood-Bildung - Gemeindegrenzen

Steffen Winkler freifunk at steffen-winkler.de
Fr Sep 21 12:40:57 CEST 2018


Hallo Adrian,

also so etwas habe ich noch nicht gehört. Du zweifelst hier die 
Intelligenz der Entwickler der Datenbank selbst an. Wir arbeiten bei uns 
mit einer sehr großen MysqL- und Posgres-Datenbank und teilweise auch 
mit sehr viel Last. Sicher muss einiges auch atomar abgearbeitet werden, 
also es soll keiner dazwischen pfuschen. Wie man etwas zusammenfasst, 
geht über verschiedene Wege, entweder über eine zusammengefasste Query 
oder über Transaktionen. Aber am Ende regelt die Datenbank ganz allein, 
wie die Abfragen nacheinander oder parallel verarbeitet werden. Deswegen 
sorgt man mit cleveren Queries dafür, dass so eine atomare Operation 
sehr schnell geht, denn es entsteht für die folgenden Abfragen einfach 
nur Wartezeit. Im schlimmsten Fall läuft man in einen Timeout aber dann 
hat man etwas grundsätzlich falsch gemacht. Deadlock heißt, dass min. 2 
in Abhängigkeit voneinander warten und es sich nie auflösen kann. So 
etwas passiert bei der Datenbank nicht, weil Queries immer zu einem Ende 
kommen werden. Der Intelligenz der Datenbank ist es überlassen, ob sie 
die ganze Tabelle lockt um eine Warteschlange aufzubauen oder ob sie das 
Zeilenweise macht. Beides hat Vorteile. Schreibt man selbst 
Parallelverarbeitung mit Threads oder Prozessen, kann es schon Deadlocks 
geben aber so etwas wird in modernen Programmiersprachen anders 
geregelt, hat man als Entwickler nichts mehr mit zu tun.

Grüße von Steffen.




Mehr Informationen über die Mailingliste franken