In welche Wissensbereiche eines DBA sollte sich ein Entwickler vertiefen? [geschlossen]


11

Ich muss zugeben, dass die Frage ziemlich weit gefasst ist, also werde ich versuchen, sie etwas einzugrenzen. In unserem Unternehmen sind wir 3-4 Entwickler und haben einige SQL Server-basierte Installationen bei unseren Kunden (Datenbankgrößen bis zu 100 GB, bis zu 100 gleichzeitige Benutzer, Intranetanwendungen). Keiner von uns hat wirklich gute Erfahrungen mit dem Ausführen / Verwalten / Verwalten von (was auch immer) Datenbanken. Die Kunden nicht einmal so viel. Bis jetzt funktioniert es in Ordnung, aber ich kann nicht sicher sagen, ob es daran liegt, dass wir alles richtig machen oder ob wir nur keine Bereiche / Situationen getroffen haben, in denen wir nicht kompetent sind.

Daher suche ich nach den wesentlichen Dingen, die Sie wissen müssen, wenn Sie eine Datenbank aus Sicht eines Datenbankadministrators ausführen . Sie kennen die harten Fakten und wissen, worauf es bei Ihrer täglichen Arbeit ankommt.

In welchen Fächern sollte ich tieferes Wissen sammeln, wovon sollte ich gehört haben und worauf kann ich mich erst konzentrieren, wenn ich es zum ersten Mal sehe?

Ich bin mir der Frage Software Engineers und DBAs bewusst , aber es ist nicht ganz das, wonach ich gesucht habe. Es gibt auch viele Bücher, aber ich würde es gerne von denen mit praktischer Erfahrung hören.


Einige gute Einblicke können von dba.stackexchange.com/questions/2905/…
Andrew Bickerton

Antworten:


5

Ich bin geneigt, @Catcall zuzustimmen, die Datenbankwiederherstellung sollte ganz oben auf der Liste stehen. Die Auswirkungen von Sicherungs- und Wiederherstellungsoptionen sind außerhalb eines DBA-Teams in der Regel am schlechtesten verstanden und führen am wahrscheinlichsten zu einer Katastrophe.

  • Stellen Sie sicher, dass Sie RPO (Recovery Point Objective) und RTO (Recovery Time Objective) für alle Datenbanken und Systeme definiert und vereinbart haben (durch technische und nichttechnische Verwaltung) .
  • Dokumentieren Sie die Sicherungs- und Wiederherstellungsverfahren so weit, dass sie von nicht technischem Personal befolgt werden können.
  • Stellen Sie sicher, dass alle Unterlagen sowohl vor Ort als auch außerhalb in gedruckter und elektronischer Form aufbewahrt werden. Ein im lokalen Netzwerk gespeichertes Disaster Recovery-Runbook wird bei brennenden Gebäuden nicht viel nützen.
  • Testen Sie häufig alle Aspekte von Wiederherstellungsverfahren. Backups sind irrelevant, es geht um Wiederherstellungen, die wichtig sind.

Aus datenbankunabhängiger Sicht wird als nächstes verstanden, wozu ein Datenbankserver aufgebaut ist. bieten Unteilbarkeit, Konsistenz, Isolation und Dauerhaftigkeit auf Ihre Transaktionen und Daten. Häufig missverstanden, häufig die Ursache für Leistungsprobleme und die Hauptursache für Dateninkonsistenzen.

Informieren Sie sich für die von Ihnen gewählte Plattform über die Implementierung der ACID-Konformität. Suchen Sie nach Themen wie dem Transaktionsprotokoll , der Write-Ahead-Protokollierung , den Isolationsstufen und den Speicherinternalen . Das Verständnis der wichtigsten Aspekte von Datenbankinternalen erleichtert das Verständnis anderer Aspekte der DBA-Arbeit, der Leistungsoptimierung und des Ressourcenmanagements erheblich.


5

Die beiden Dinge, mit denen ich mich jeden Tag beschäftige.

  1. Notfallwiederherstellung.

  2. Leistungsoptimierung. (Sowohl für einzelne Abfragen als auch für die Datenbank selbst.)

Ihr Disaster Recovery-Plan muss sein

  • Skript,
  • getestet und
  • geübt.

Ich verwende Skripte im Sinne von etwas, dem ein Schauspieler folgen würde, nicht etwas, das in Python geschrieben wurde. Es sollte jedem, der involviert sein muss, genau sagen, was zu tun ist. (Und oft auch genau das, was ich sagen soll.)

Die Leistungsoptimierung für Abfragen umfasst das Verständnis von Schlüsseln, Indizes und Normalisierung. (Oft sind "Tuning" -Probleme tatsächlich strukturelle Probleme.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.