Wann lohnt es sich, einen DBA zu bekommen?

7

Ich habe jetzt bei einigen Technologieunternehmen von 10 bis 150 Personen gearbeitet und bin noch nie auf einen echten DBA gestoßen. Wie groß muss ein Unternehmen sein, bevor es einen DBA verdient? Welche Kriterien müssen erfüllt sein?

(Ich habe dies auch auf Stack Overflow gepostet . Es ist nur an beiden Stellen, weil ein Moderator dort vorgeschlagen hat: "Dies könnte einer der seltenen Fälle sein, in denen es sich lohnt, sowohl nach SO als auch nach SF zu fragen.")

Dinah
quelle

Antworten:

5

Für viele Unternehmen benötigen sie einfach keinen Vollzeit-DBA, selbst wenn sie über eine interne Datenbank verfügen, die selbst erstellt wurde. Andere benötigen mehrere Datenbankadministratoren.

Wie eine Person erwähnte, wenn die Kosten für den Verlust der Datenbank höher sind als das Gehalt des DBA, dann erhalten Sie eine. Das ist ein sehr guter Anfang. Wenn sich die Datenbank jedoch nicht so stark ändert und sich auf guter Hardware befindet, könnte ein Unternehmen wahrscheinlich jahrelang ohne einen Vollzeit-DBA auskommen. Der Trick dabei ist, einen guten lokalen (oder Remote-) Berater zu haben, der sicherstellt, dass die Sicherungen automatisiert werden und die andere Datenbankwartung regelmäßig durchgeführt wird. Lassen Sie sie das System einige Male im Jahr auf eine Gesundheitsprüfung überprüfen und beauftragen Sie sie, große Projekte und Server-Upgrades durchzuführen, und es sollte Ihnen größtenteils gut gehen.

Wenn das Unternehmen wächst, haben Sie einen jüngeren Mitarbeiter, der sich um die alltäglichen Aufgaben kümmert. Lassen Sie den Berater jedoch bei Bedarf, bis es sich lohnt, den Preis für einen hochrangigen DBA zu zahlen.

Es gibt keine Größenfirma, die einen DBA benötigt. Das Unternehmen, in dem ich mich gerade befinde, ist ein kleines Unternehmen mit 20 Mitarbeitern, aber wir leben und sterben nach unserer Datenbank, sodass es Sinn machte, einen hochrangigen DBA einzustellen. Ich habe Nebenprojektkunden, bei denen es sich um hundertköpfige Unternehmen handelt, die nur ein Auftragsabwicklungssystem im Haus haben, bei dem sich die Datenbank selten ändert. Ich habe den Server 2007 aktualisiert und bin seitdem nicht mehr zurück. Ich checke alle paar Monate ein und mir wird gesagt, dass das System gut läuft und es sich selbst sichert, also mache ich mich auf den Weg.

mrdenny
quelle
5

Wenn Sie nur Software von Drittanbietern verwenden, würde ich sagen, dass dies vom verwendeten RDBMS (Oracle, mySQL, DB2, MS SQL usw.) und der Größe der Daten im Verhältnis zur Leistung der Hardware abhängt Es wird auf und die Qualität der Software von Drittanbietern gespeichert. Für kleine Dinge in benutzerfreundlichen Datenbanken ist es wahrscheinlich ausreichend, einen (willigen) Techniker die Grundlagen machen zu lassen. OTOH, einen Entwickler zu entwerfen, der Webcode schreiben und sie zwingen möchte, Oracle-Datenbanken zu sichern, ist eine schlechte Idee.

Wenn Sie eine interne Entwicklung durchführen, würde ich nach den Skalierungsanforderungen der Datenbank fragen (erstellen Sie das nächste Google oder Twitter oder behalten Sie Rezepte bei?). Was soll der DBA tun (Datenbanken sichern, Datenbanken sichern, an der Entwicklung teilnehmen, Code schreiben, Datenbankschema für Architekten erstellen, an Scale-up oder Scale-out arbeiten, Replikationsschema erstellen, mit Hardwareanbietern interagieren, Hardware angeben? "Kodierungsstandards" erstellen? Nur die Katzen hüten?).

Wenn Sie einen DBA frühzeitig einführen, können Sie verhindern, dass Projekte später in Schwierigkeiten geraten. Im Allgemeinen ist es billiger, häufige Fehler jetzt zu vermeiden, als sie später zu beheben.

darin Meerenge
quelle
3

Ich würde sagen, es kommt darauf an.

Da dies ein Geschäft ist, fragen Sie sich: "Was kostet der Verlust dieser Datenbank?"

Sobald die Kosten höher oder gleich dem Gehalt eines DBA sind, mieten Sie einen DBA.

Die "Kosten" werden schwer zu bekommen sein. Es sollte jedoch Wiederherstellungszeit, Produktivitätsverlust (pro Benutzer) und Umsatzverlust umfassen. Orte wie Amazon (die vor einigen Jahren mit 60 Verkäufen pro Sekunde ihren Höhepunkt erreichten) können ihre Ausfallzeitkosten eindeutig bestimmen.

Joseph Kern
quelle
2

Sobald Sie einen DB-Server haben und Leistungsprobleme auftreten, ist es an der Zeit, einen DBA, IMO, zu erhalten. In einigen Fällen kann es vorkommen, dass Entwickler über genügend Erfahrung verfügen, um eine anfängliche DB-Konfiguration durchzuführen.

JB King
quelle
Kaufen Sie einfach eine größere Box = p
Sam
2

Abhängig von den Ressourcen und der Zeit, die für die Verwaltung der Datenbank aufgewendet werden, was ist das Problem und wo befindet sich die Datenbank? Viele Unternehmen sind der Meinung, dass es kostengünstiger und zuverlässiger ist, mit einem Managed-Hosting-Anbieter zusammenzuarbeiten, der Datenbankdienste anbietet, als mit einem DBA, der möglicherweise den größten Teil des Tages untätig ist und als Versicherung für „Was wäre wenn“ verwendet wird.

Nick O'Neil
quelle
2

Dies hängt wirklich davon ab, wie viele Datenbanken Sie verwalten müssen. Wir haben einen DBA vor Ort und er ist sehr gut. Wir haben PROD / TEST / TRAIN / DEV Oracle-Instanzen, die häufige Regressionen, regelmäßige Patches und Upgrades nach Regressionstestzyklen von der funktionalen Seite erfordern. Abgesehen davon alles andere im Unternehmen, das eine von ihm verwaltete Oracle- oder SQL-Datenbank verwendet. Er hat die Aufgabe, aktualisierte Klone zum Testen aufzubewahren, und verwaltet die RMAN-Datenbanksicherungen in Enterprise Manager.

Angesichts der Tatsache, dass unsere Datenbank das Lebenselixier des Unternehmens ist, denke ich, dass Sie in bestimmten Situationen über einen qualifizierten DBA verfügen müssen.

Kev
quelle
2

Unabhängig davon, ob Sie einen DBA einstellen müssen oder nicht, müssen Sie jemanden haben, der für die Produktions- und Entwicklungsserver verantwortlich ist.

Sie benötigen eine bestimmte Person, die für Produktionsänderungen verantwortlich ist.

Bei großen Projekten mit mehr als 2 Entwicklern muss eine Person für die Migration von Änderungen in die Entwicklung zuständig sein (von Workstation- oder Benutzerschemata).

Wenn Sie Reporting Services oder Analysis Services verwenden möchten, suchen Sie möglicherweise einen DBA, der auf diese Technologien spezialisiert ist.

Wenn Sie über vertrauliche Daten verfügen, sollten Sie besser sicherstellen, dass jemand diese überwacht und über die erforderliche Sicherheit verfügt. Andernfalls verstoßen Sie möglicherweise gegen die staatlichen Vorschriften, was Geld kostet.

Sam
quelle
2

Wann

  1. Die DBA-Arbeit geht über den Kopf, wer es tut oder
  2. Die Person, die jetzt die DBA-Arbeit erledigt, wird am besten woanders verbracht.
NickatUship
quelle
1

Ich würde vorschlagen, dass Sie es in Betracht ziehen, sobald Datenbanken so viel Zeit in Anspruch nehmen, dass Sie Ihre Arbeit nicht mehr erledigen können.

Versuchen Sie, einen DBA mit einem multidisziplinären Hintergrund zu bekommen, damit er etwas anderes zu tun hat, als herumzusitzen und darauf zu warten, dass die DB kaputt geht.

Matt Simmons
quelle
0

Ich bin nicht davon überzeugt, dass DBAs überhaupt benötigt werden.

Als Anwendungsentwickler denke ich, dass ein DBA nicht erforderlich ist - alle anwendungsseitigen Änderungen sollten von den Anwendungsentwicklern vorgenommen werden -, ein DBA konnte oder sollte solche Änderungen weder vornehmen (tatsächlich sollten diese Änderungen dieselbe Änderungskontrolle durchlaufen müssen und QS wie jede andere Änderung des Entwicklungsteams, sodass der DBA Teil des Teams wird.

Ebenso ist alles, was KEINE Änderung in der Anwendung darstellt, ein Systemadministrationsproblem und sollte vom Betriebsteam mit IHRER Änderungskontrollrichtlinie behandelt werden - wiederum kein DBA-Gebiet.

Wenn ich herausfinde, wofür man gut ist, werde ich es Sie wissen lassen.

Meiner Meinung nach können Datenbankadministratoren nicht wirklich viel Leistungsarbeit leisten, da 99% davon aus der Änderung der Anwendung stammen, die nicht ausgeführt werden sollte.

MarkR
quelle
Die Leistung kann auf der DB-Seite gesteigert werden - Hardwarekonfiguration, Indexverwaltung, Abfrageoptimierung.
Sam
Wenn Ihre Entwickler die E / A-Nutzung nicht anhand von Abfragen überwachen, mit lang laufenden Abfragen Schritt halten, Schemaänderungen verwalten usw., stimme ich Ihnen nicht zu.
ChickenMilkBomb
Entwickler sollten all diese Dinge auf jeden Fall tun. Definitiv Verwalten von Schemaänderungen. Niemand außer Entwicklern sollte sich dem Schema nähern.
MarkR
0

Wahrscheinlich ungefähr zur gleichen Zeit im Administrationszyklus, in der es sich lohnt, einen Sys-Administrator zu beauftragen, anstatt jemanden diese Teilzeitbeschäftigung und seine eigentliche Arbeit erledigen zu lassen.

Sicher, das ist teilweise eine flippige Antwort, aber nur eine, die Sie zum Nachdenken anregen soll. Sie benötigen im Allgemeinen einen Systemadministrator, um die Sicherheit, Verfügbarkeit und Leistung Ihrer Back-End-Systeme zu verwalten. Sie benötigen eine Datenbank, um die Sicherheit, Verfügbarkeit und Leistung Ihrer Datenbanksysteme zu verwalten. In beiden Fällen lohnt es sich, den Job zu trennen, wenn er zu viel Zeit in Anspruch nimmt, zu knifflig wird oder auf andere Weise zu viel knappe Ressourcen verbraucht.

Niall
quelle