Softwareingenieure und Datenbankadministratoren [geschlossen]

7

Was sind die Hauptunterschiede zwischen Datenbankadministratoren und Softwareingenieuren? Inwieweit sollte ein Software Engineer die Details der zugrunde liegenden Datenbank kennen? Wo liegt die Grenze zwischen diesen beiden Berufen?

Abimaran Kugathasan
quelle

Antworten:

9

Mathematik. Ich bin versucht, es dabei zu belassen, aber ich weiß ohne Erklärung, dass ich geflammt werde, also geht es los.

Nach meiner Erfahrung unterscheidet sich DBA-Mathematik von Ingenieurmathematik.

DBA-Mathematik beinhaltet die Auswirkungen auf die Kapazität einer Bereitstellung. Zum Beispiel untersuchen wir als Datenbankadministratoren die Bereitstellung einer Tabelle anhand des Speicherplatzes pro Million Zeilen auf der Festplatte, der optimalen Abfragen, der Indizierungsstrategien usw.

Die Mathematik des Ingenieurs wird auf der Big-O-Notation basieren. Ein Ingenieur wird sich mit Algorithmen befassen und wie man sie optimiert. Die nachgelagerten Auswirkungen (Kapazitätsplanung) sind ein zweitrangiges Anliegen für die Effizienz der Anwendung. Wenn jedoch im Voraus Kapazitätsanforderungen gestellt werden, wird diese ordnungsgemäß geprüft.

Einige von uns spielen beide Rollen und haben daher eine Nische als dba-Entwickler für Unternehmensanwendungen herausgearbeitet.

Übrigens: Bitte nehmen Sie dies mit einem Körnchen Salz, weil es nur meine Meinung ist.

randomx
quelle
10

Es hängt ganz von der Aufteilung der Arbeit in einer Organisation ab und davon, wofür jede Person verantwortlich ist. Aber sie sind nur Etiketten; Jemand mit dem Titel "Softwareentwickler" in einem Unternehmen ist möglicherweise "Programmierer / Analyst" in einem anderen Unternehmen oder sogar "Systemprogrammierer" usw. Es gibt keine harte Grenze zwischen beiden.

Wo ich arbeite, ist der "Software-Ingenieur" in der Regel die Person, die sowohl das Design als auch die eigentliche Implementierung übernimmt, und wir haben niemanden mit dem Titel "DBA". Die Wartungsaufgaben, bei denen es sich normalerweise um einen DBA handelt, fallen auf die allgemeinen "Systemadministratoren" zurück, basierend auf den Anweisungen, die der "Softwareentwickler" ihnen gegeben hat.

In einem meiner Meinung nach besten Szenario würden Sie das Design in mehrere Teile aufteilen:

  • Datenmodellierung
  • Anforderungen an die Datenspeicherung (Datensatzstruktur, Größe der Tabellen, Anzahl der Einfügungen / Löschungen / Aktualisierungen pro Sekunde, wie schnell Prozesse abgeschlossen werden müssen usw.)
  • Anforderungen für die Notfallwiederherstellung / Kontinuität des Betriebs (muss innerhalb von (x) Stunden gesichert werden, darf nicht länger als ein (y) Stunden Wartungsfenster pro Monat sein)
  • Implementierung des Speichers (Auswahl der Datenbanksoftware, Auswahl des physischen Speichers, Verteilung der Tabellen auf den Speicher usw.)
  • Implementierung des Backup-Plans

Und dann die Wartungsaufgaben:

  • Datenbank optimieren
  • Optimieren der Abfragen
  • Debuggen, wenn etwas schief geht
  • Überwachung und Überprüfung der Backups
  • Anwenden von Software-Updates

Für die meisten von ihnen müssen sie nicht von einem DBA durchgeführt werden. Dies kann von einem Softwareentwickler oder bei einigen Wartungsaufgaben von einem Systemadministrator durchgeführt werden.

Wenn Sie Mitarbeiter in beiden Rollen haben, können Sie diese über das Design und die Optimierung beraten und zusammenarbeiten lassen (was sie in der Konstruktion als "Design-Build" bezeichnen würden), oder wenn es sich um einen Eiljob handelt, können Sie die verschiedenen Aufgaben zwischen den beiden zuweisen zwei. Möglicherweise sind auch andere Personen beteiligt: ​​ein "Softwarearchitekt", ein "Datenarchitekt", ein Archivar, verschiedene Programmierer, Systemadministratoren, Netzwerkadministratoren, Sicherheitsbehörden usw.

Joe
quelle
4

"Software Engineers" oder "DBA" sind Titel. Anstatt zu fragen: Wen werde ich "SE" oder "DBA"? Fragen Sie einfach: "Soll ich C # oder Java oder Oracle oder SQL Server lernen, um meine Ziele zu erreichen". Haben Sie jemals gesehen "wir brauchen nur DBA"? Nein :) (außer einigen seltsamen Fällen von HR). Sie können sehen: "Wir wollten XX, der diese Technologien kennt und kennt."

garik
quelle