SQL Server Concurrency, Teil 1
19.01.2017, 00:00 Uhr
Pessimistic Concurrency
Mehr Performance begünstigt Seiteneffekte. Gut, wenn man die Details kennt.
Sie kennen das Problem: Heute ist Ihre Datenbank sehr schnell, aber sobald mehrere Benutzer gleichzeitig mit der Datenbank arbeiten, wird alles langsamer und manche Benutzer beschweren sich sogar über Timeouts. Schuld daran sind nicht Sie als Datenbank-Entwickler, sondern der SQL Server selbst. Dieser verwendet nämlich Locks zur Isolation der verschiedenen Benutzer untereinander. Und inkompatible Locks führen zu Blockaden und manchmal sogar zu Deadlocking-Situationen.
Eines der größten Probleme einer relationalen Datenbank ist, dass sie nicht skaliert: Doppelte Nutzerzahl bedeutet nicht, dass die Datenbank auch die doppelte Anzahl von Transaktionen liefert. In der Entwicklungsumgebung ist die Datenbank sehr schnell, aber in Produktionsumgebungen, in denen sehr viele Benutzer gleichzeitig mit der Datenbank arbeiten, beschweren sich Benutzer über die langen Antwortzeiten. Alles in allem keine befriedigende Situation.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar