Zusammenfassung des Berichts „Wie man ein cooler Spezialist für Datenbanken wird“ (HL2018, Data Egret, Ilya Kosmodemyansky)

Die ersten Vorlesungsunterlagen mit HighLoad wurden positiv aufgenommen, also fahre ich fort.

Als zweiten Vortrag wählte er interessantes Material, das sowohl in der Inhaltsangabe als auch im Saal eine Antwort fand. Meiner Meinung nach kann dieser Bericht für alle von Interesse sein, insbesondere für Anfänger.

Der Bericht befasste sich mit folgenden Fragen:

  • Was genau wollen wir werden?
  • Brauchen wir es
  • Theoretische Fähigkeiten
  • Praktische Fähigkeiten (technisch)
  • Praktische Fähigkeiten (nicht technisch)

Bild

Eine Datenbank ist eine einfache Sache, und die Leute sind kompliziert, so dass Ratschläge möglicherweise nicht für jeden geeignet sind.

Er hat nicht alle Tipps befolgt.

Fähigkeitskarte heute (morgen kann sich ändern):

Bild

Jede Rolle ist nützlich, um Fähigkeiten aus benachbarten Gebieten zu haben.

Vor kurzem wurden Wolken hinzugefügt. Sie fügen einen Verantwortungsbereich für die Budgetierung hinzu.

Brauchen wir es


  • Es wird definitiv nicht langweilig. DB ist interessant.
  • Solange es Daten gibt, wird es Basen geben. Sie mögen anders werden, aber sie werden es sicherlich sein.
  • DBA - wie ein Klempner, aber warm und hinter der Tastatur.

Es ist fast unmöglich, eine gute Profilausbildung zu erhalten. Es gibt keine solche Ausbildung. Aber es gibt Universitäten, die dies gut lehren. Aber wenn Sie die Universität verlassen, werden Sie kein Spezialist.

Sie müssen in der Lage sein, schnell verschiedene Berufe zu erlernen.

Aufgaben, die schnell gelöst werden müssen (Prüfung in einer idealen Welt auf dba):

  • Fixieren Sie die Basis für die Zeit (zum ersten Mal gesehen). Was das Problem ist, ist nicht klar, aber alles "verlangsamt" sich
  • Prüfer 10 und vorzugsweise 20-30
  • 3 fragen Sie locker "wie"
  • Noch drei per Telefon
  • 1 erfordert Zeit zu reservieren
  • 3 Scrum jetzt vorstellen :) (ein Moment des Humors)

Grundkenntnisse erforderlich (Theorie):


  • Relationale Algebra (mindestens 40 Stunden zum Lernen)
  • B-Baum in verschiedenen Typen und Formen (tiefes Wissen ist nur erforderlich, wenn die Aufgabe darin besteht, eine eigene Datenbank zu schreiben)

Ein gutes Einführungsbuch: Novikov, Dombrowski, das Einrichten von Datenbankanwendungen .

Fazit : Sub ist ein Framework, mit dem Sie mit Daten arbeiten können:
  • Universell
  • Zuverlässig
  • Produktiv

(!) Wie es geht - Sie müssen es gründlich wissen.

Praktische technische Fähigkeiten (!) (Wichtig und notwendig)


  • Parallelitätskontrolle
    • 2 Phasenverriegelung
    • Deadlock-Erkennung
    • Parallelitätskontrolle für mehrere Versionen

  • Wiederherstellung
    • Schreiben Sie ein Protokoll voraus
    • Wiederholen
    • Rückgängig machen

  • Verteilte Transaktionen
    • 2-Phasen-Commit
    • Verteilte Wiederherstellung


Lesen Sie die minimale Wikipedia. Besseres Buch - G. Weikum, G. Vossen, Tranactional Informatino Systems: Theorie, Algorithmen und die Praxis der Concurrencty Control and Recovery.
Wenn es schwierig ist, können Sie zum ersten Mal nichts über Objekte und Suchstrukturen lesen. Dann noch einmal lesen.

Fallstricke


  • Verwechseln Sie nicht 2pl und 2pc (zweiphasiges Blockieren und zweiphasiges Festschreiben).
  • 2pl und mvcc nicht kontrastieren.
  • Dies sind pessimistische Transaktions-Sheduling-Algorithmen - sie sind die häufigsten, aber die Welt ist nicht auf sie beschränkt.

Entwöhnt, Bücher zu lesen und Dokumentation zu lesen. Es gibt nur wenige, seltene und aktuelle Bücher mit guten Praktiken.

Wie lese ich die Dokumentation?


Wenn Sie die Dokumentation für jeden Konfigurationsparameter mindestens einmal lesen (z. B. postgresql.conf usw.), werden Sie viel cooler. Dies gilt für jede Datenbank.
Die Empfehlung ist, sich einen Testserver zu besorgen und zu experimentieren, wie sich verschiedene Parameter darauf auswirken.

Wie man Probleme löst


  • Bleib ruhig ( bleib ruhig! )
  • Auf der Suche nach einem Grund: Stimmen Sie die Abfrage nicht ab / kennen Sie Ihre Daten nicht! - Wir überlegen, wie die Anfrage angeordnet ist, versuchen aber nicht, sie „Stirn“ zu lösen.
  • Lernen Sie ( im Voraus ) Diagnosetools (top, iostat, perf usw.)
  • Post mortem schreiben!

Praktische nichttechnische Fähigkeiten:


  • Lerne Russisch und Englisch zu sprechen, zu schreiben und zu lesen
  • Machen Sie Präsentationen, unterrichten Sie Kollegen, sprechen Sie bei Besprechungen, gehen Sie auf Highload!
  • Lernen Sie, mit Entwicklern (und nicht nur mit ihnen) zu kommunizieren

Lerne das alles gleichzeitig zu machen.

Source: https://habr.com/ru/post/de429508/


All Articles