web-dev-qa-db-fra.com

Pourquoi l'administration de bases de données est-elle si difficile?

Je connais beaucoup de Administrateurs de bases de données et ils ont tous entre 28 et 29 ans.

Est-ce que toute l'administration de la base de données est comme ça? Je veux dire, s'agit-il d'acquérir une expérience supérieure à au moins 7 à 8 ans?

Ou est-ce si difficile d'être administrateur de base de données?

92
Soner Gönül

Le poste nécessite un large éventail de connaissances allant du développement à l'administration du système et même à la gestion. Un DBA doit non seulement connaître la sauvegarde, la restauration, les opérations internes, la mémoire et la sécurité, mais aussi comment communiquer avec les développeurs et la direction. Un administrateur de base de données pourrait offrir une présentation de haut niveau à la direction, aider un développeur à régler une requête, provisionner de l'espace disque pour un nouveau système et restaurer les données de la sauvegarde dans la même heure. Ces responsabilités nécessitent une richesse de connaissances avec peu de chevauchement.

Les conséquences d'un échec sont généralement plus importantes pour un DBA que pour un développeur. Les DBA prennent souvent en charge des dizaines, voire des centaines d'applications et de systèmes différents, dont la plupart sont essentiels au succès de l'entreprise. Une faille de sécurité, un échec de récupération ou un problème de performances peuvent avoir des ramifications étendues et dévastatrices. Cela nécessite un niveau de connaissances et d'expérience qui ne peut pas être acquis en peu de temps.

Plus un DBA fait son travail, moins il a de visibilité. Un DBA avec une base de données sécurisée, récupérable, disponible et performante manquera de reconnaissance. Les administrateurs de base de données sont remarqués en cas de problème. Non seulement ils se font remarquer lorsque leurs problèmes sont auto-infligés, mais ils sont également blâmés lorsque la base de données a des problèmes en raison d'un mauvais codage, d'une mauvaise configuration réseau ou d'un stockage mal configuré.


Je suis passé du développeur au DBA quand j'avais 29 ans. Pour moi, les choses qui rendent difficile d'être un DBA le rendent également gratifiant. J'aime absorber et utiliser un large éventail de connaissances, et la plus grande possibilité d'échec rend leur évitement d'autant plus significatif que les autres le voient ou non.

141
Leigh Riffel

Devenir un administrateur de base de données nécessite en fait une grande expérience, mais il peut essentiellement provenir de quatre voies différentes:

  1. Être développeur et faire une transition vers un DBA
  2. Être développeur et être rédigé en tant que DBA
  3. Formation directement du collège/école de métiers pour devenir DBA
  4. Être un SysAdmin et faire une transition vers ou retirer un double devoir en tant que DBA

Être développeur et faire la transition vers un DBA

Dans une autre question qui a été posée sur ce site, Comment les DBA pourraient-ils être plus "programmables" , j'ai mentionné que j'étais un développeur pendant 16 ans qui travaillait avec les DBA. Le fait d'avoir travaillé avec eux m'a fait réaliser que dans la mesure où leur expérience incluait la théorie des bases de données, les mathématiques discrètes et l'expérience en programmation, dans cette mesure, ils pouvaient voir comment une base de données devait fonctionner et comment une requête devait s'exécuter.

Avoir un DBA avec ces choses en arrière-plan m'a fait sentir que j'étais encore au collège en train d'apprendre auprès d'un professeur auxiliaire mais qui connaissait vraiment leur métier. Tant que le DBA était disposé à partager ce qu'il savait, sans vous le confier, il pourrait en fait devenir votre mentor en termes de développement d'instructions SQL (SQL est, en soi, un contexte- Sensitive Programming Language) qui sont aussi efficaces que possible. Bien sûr, il y a les autres parties banales, comme effectuer des installations, effectuer des sauvegardes, effectuer des mises à niveau logicielles, surveiller les mesures de performances, générer des rapports, etc. Mais en tant que développeur, si vous vous concentrez sur les bases de données et le SQL qui s'exécute sur ces bases de données, au fil du temps, vous deviendrez si habile en SQL que ce sera une seconde nature et vous pourrez vous concentrer sur le développement d'applications.

Les exigences imposées à un développeur peuvent être éprouvantes, tout comme le DBA. Le développeur qui passe volontairement au rôle de DBA déplace son attention du développement et du codage vers les choses banales que j'ai mentionnées précédemment. À la lumière de cela, le DBA travaillant étroitement avec les programmeurs crée l'opportunité pour le DBA d'apporter des contributions créatives à n'importe quel projet, rendant ainsi le rôle d'un DBA beaucoup plus intéressant.

Être développeur et être rédigé en tant que DBA

Pour la plupart des développeurs qui ne voient rien d'autre que développer et coder pour le reste de leur vie, cela pourrait être comme choisir d'être soit dans la téléréalité Survivor ou dans le jeu télévisé Wipeout. Le nouveau DBA passe son temps à interagir avec la Black Box (que nous connaissons tous simplement comme la base de données) avec laquelle il a contacté au fil des ans pour obtenir des données.

Le nouveau DBA peut désormais créer ses propres tables et index. Cela pourrait ressembler à laisser un Hibachi japonais cuisiner dans un restaurant italien. Le cuisinier peut tout concocter, mais il doit se rendre compte qu'il existe de nouvelles recettes, ustensiles de cuisine, couverts, viandes, épices, légumes et de nombreuses autres choses banales auxquelles s'adapter (hygiène, inventaire, heure de début, heures de travail, etc.). Ce n'est pas seulement un moment de transition mais aussi un temps pour surmonter une grande courbe d'apprentissage. Un nouveau niveau d'expérience doit être appris et développé malgré la cuisine japonaise experte au fil des ans. Dans cet aspect, les développeurs doivent se rééduquer pour penser comme un DBA.

Formation directement du collège/école de métiers pour devenir DBA

C'est, de loin, le moyen le plus meurtrier de devenir un DBA. C'est aussi le chemin le plus rare - en fait, c'est pratiquement inconnu. Maintenant, nous parlons de laisser quelqu'un de McDonald's ou Burger King dans ce même restaurant italien.

Trois courbes d'apprentissage sont impliquées:

  1. Appliquer les compétences du collège/école de métiers dans le rôle DBA,
  2. Interagir avec le SGBDR particulier (PostgreSQL, Oracle, MySQL, DB2, Sybase, Ingres) et,
  3. Interagir avec les développeurs ( un futur DBA apprenant des compétences sociales décentes tout de suite après l'école? Oui !).

En cela, les développeurs auront le dessus sur les DBA pendant des années. Les DBA doivent apprendre à s'adapter rapidement aux besoins des développeurs dans leurs premières années en tant que DBA. Peut-être qu'un DBA pourrait faire un salaire de départ décent, mais il est plus difficile de se développer sans se développer dans ces trois domaines d'apprentissage.

Être un SysAdmin et faire une transition vers ou tirer un double devoir en tant que DBA

En tant qu'ancien développeur et maintenant DBA, une chose qui ne doit pas être tenue pour acquise est le rôle du SysAdmin.

Avoir le rôle de SysAdmin/DBA est un peu impressionnant pour moi. Dans la société d'hébergement de mon employeur, nous avons un gars qui est SysAdmin/DBA (SCMDBA). Il est tellement submergé de projets d'infrastructure et de ses propres concerts MySQL internes. Je ne l'envie pas, je le félicite. En toute honnêteté, puisque le véritable esprit d'un SysAdmin/DBA m'est étranger, Je laisse à la discrétion de SysAdmin/DBAs la mise à jour de ce paragraphe (ou le remplacer complètement) pour décrire ce chemin .

Conclusion

Quel que soit le chemin que vous choisissez, le rôle d'un DBA peut être distingué ou dégoûtant, en fonction de votre volonté d'être encadré (ou torturé) au début et de votre volonté de travailler avec d'autres personnes au fil du temps. Ce n'est qu'alors que l'on peut dire qu'ils aiment être DBA.

Soit dit en passant, il se trouve que j'ai fait l'expérience des deux premiers parcours DBA à partir d'août 2004 à l'âge de 39 ans. Les deux années d'expérience que j'avais dans le rôle de DBA rédigé ont fait la transition vers un DBA à temps plein très agréable et confortable .

Mon conseil aux DBA de 28 à 29 ans? Soyez aussi doué pour travailler avec les gens que pour le SGBDR. Si vous vous développez dans les deux domaines, vous pouvez en faire un DBA pour les années à venir.

57
RolandoMySQLDBA

L'administration de la base de données est difficile pour deux raisons

Retour lent Si l'on prend une mauvaise décision dans le rôle d'un architecte logiciel, il faut généralement plus de temps pour obtenir un retour négatif par rapport à un programmeur. Le programmeur peut souvent prendre conscience de l'erreur lors de la compilation ou lors de l'exécution des tests, ce qui signifie que le cycle d'apprentissage est assez rapide. Un administrateur de base de données faisant une erreur lors de la conception d'une base de données peut simplement obtenir des commentaires lorsqu'il/elle découvre comment les utilisateurs finaux utiliseront réellement le logiciel. Cela signifie qu'il pourrait falloir des années pour obtenir le retour d'information selon lequel la conception de la base de données était défectueuse et doit être refaite. Par conséquent, il faut des années pour acquérir de l'expérience, au lieu de quelques minutes (parfois) pour les programmeurs.

Erreurs coûteuses C'est aussi la raison pour laquelle les PDG des grandes entreprises ont généralement la cinquantaine.

37
David

C'est assez facile d'être un mauvais DBA

Plus sérieusement, un DBA a généralement une responsabilité particulière pour quelque chose qui est souvent essentiel au succès ou à l'échec d'une entreprise: ses données

Si vous dirigez une entreprise, vous voudrez peut-être embaucher des personnes compétentes et expérimentées dans ce rôle.

Je ne pense pas que ce soit une question de "plus facile" ou de "plus difficile" - juste une question de la valeur de vos données: il n'est pas intrinsèquement plus difficile de placer un satellite dans l'espace qu'une personne, mais vous devriez vérifier vos sommes beaucoup plus pour ce dernier

À mon avis, être un administrateur de base de données est facile ... jusqu'à ce que quelque chose se brise qui menace l'entreprise et le fardeau de réparer et de restaurer quoi que ce soit est sur vos épaules.

Être administrateur de base de données (ou administrateur réseau ou système) est un poste qui nécessite un certain niveau de maturité. Il faut quelqu'un qui fonctionne bien sous pression. Cela ne veut pas dire qu'il n'y a pas de jeunes qui peuvent gérer cela avec les compétences nécessaires.

En outre, il est facile d'apprendre les commandes d'un livre pour sauvegarder/restaurer une base de données, optimiser la configuration du serveur, etc. Mais l'expérience gagne lorsque vous recevez l'alerte que votre base de données est en panne.

18
Derek Downey

Je connais beaucoup d'administrateurs de bases de données et ils ont tous entre 28 et 29 ans. Est-ce que toute l'administration de la base de données est comme ça?

La plupart des bons et solides programmeurs que je connais ont également au moins 25 ans. J'imagine qu'il y a un facteur de corrélation entre l'âge et l'expérience = un bon codeur. ;)

Je veux dire, s'agit-il d'acquérir une expérience supérieure à au moins 7 à 8 ans? Ou est-ce si difficile d'être administrateur de base de données? Qu'est-ce que tu penses?

Être administrateur de base de données n'est pas facile, si c'est ce que vous voulez dire. Il y a beaucoup de choses que vous devez savoir en tant que dba. Cela signifie aussi l'école, et cela signifie quelques années de tutelle sous une autre personne. Rappelez-vous que les bases de données sont une logique d'ensemble, que presque personne ne va à l'école assez longtemps pour apprendre, ce que personne ne connaît donc. Set-logic partage certaines règles avec l'algèbre, mais les moteurs (MSSQL, Oracle, etc.) sont eux-mêmes des bêtes tordues de mise en œuvre de ces règles, donc non seulement vous devez comprendre les mathématiques derrière les bases de données, vous devez comprendre la mise en œuvre que vous courir sur. Cela ne compte même pas de connaître votre langage de script préféré (PL/SQL, TSQL, etc.).

Considérez ensuite qu'en tant que dba, vous serez responsable de vous assurer que les données commerciales les plus critiques seront souvent confiées à vos mains. Vous devez avoir dépassé les pires parties de "faire des erreurs stupides" et vous devez avoir appris un peu de retenue. La plupart des gens de 21 à 23 ans n'ont pas encore appris cela. Certains d'entre nous à 30 ans ne l'ont toujours pas fait.

OT: C'est pourquoi je dis que les gens ne savent vraiment rien jusqu'à ce qu'ils aient au moins 40 ans, et d'ici là, ils sont considérés au-dessus de la colline, alors qu'en réalité, ils atteignent simplement leur foulée. (dit comme quelqu'un qui a 31 ans)

18
jcolebrand

Je ne pense pas qu'être un DBA est difficile. Devenir un était pourtant.

16
user1875

Je voulais répondre pour ajouter un autre aspect pas très discuté ci-dessus: le champ de vision.

Il existe de nombreuses variétés de rôles pour les développeurs et certains (par exemple, le développement de pilotes de périphériques ou le développement d'ordonnanceurs de systèmes d'exploitation) nécessitent un champ de vision très étroit et une capacité à approfondir un petit problème et à le regarder d'un point de vue purement technique. . Il existe d'autres domaines qui nécessitent des champs de vision très larges mais pas autant de profondeur technique (développement d'applications métier avec un ERP framework de votre choix).

Les bases de données sont uniques car pour bien les faire, vous devez pouvoir passer rapidement et sans heurts de ces modes. Les bases de données sont des moteurs mathématiques, mais ce sont des moteurs mathématiques qui s'intègrent dans des environnements commerciaux de manière très complexe. Par conséquent, il faut être à la fois capable d'aborder le problème mathématique en tant que problème mathématique et de demander comment il s'intègre dans tout le reste.

Lorsque vous regardez des ingénieurs réseau ou des administrateurs système seniors, ils correspondent le mieux à un DBA senior dans ce domaine (bien que chaque domaine soit assez différent - un bon administrateur système senior nécessite un champ de vision encore plus large qu'un bon dba, et de bons ingénieurs réseau nécessitent un champ plus profond).

En d'autres termes, pour être un bon administrateur de base de données, vous devez être en mesure de basculer entre les exigences métier de haut niveau et les compréhensions de très bas niveau relatives au stockage sur disque réel, et plus aux mathématiques relationnelles et aux problèmes de conception purement techniques, le tout sans toute transition réelle (et probablement en cours d'évaluation d'une décision spécifique).

Je travaille en tant que DBA et développeur. Les deux rôles sont extrêmement complémentaires, mais je suis d'abord un DBA et si vous avez vu les bibliothèques que j'ai écrites, ce serait évident. Mais la raison pour laquelle ils sont complémentaires est que du côté du développement, je peux directement interagir avec les utilisateurs finaux du logiciel et donc je suis constamment poussé en ce qui concerne la portée de ma vision, tandis que du côté db, je peux me remettre en question sur la profondeur.

14
Chris Travers

Il existe un autre chemin, légèrement différent de ceux énumérés.

Commencez en tant que développeur, puis devenez concepteur de bases de données, puis devenez DBA. Cette voie était plus courante il y a une trentaine d'années, lorsque les bases de données ont commencé à dépasser les applications basées sur des fichiers, et que les personnes ayant une expertise en bases de données étaient rares

PS: Quand j'étais un ancien programmeur devenu DBA, les programmeurs me demandaient "le DBA n'est-il pas ennuyeux?"

Ma réponse: "ce n'est ennuyeux que si vous le faites bien!". :)

8
Walter Mitty

Je suis plutôt au début de mon parcours DBA, mais voici quelques raisons pour lesquelles les gens peuvent trouver ce travail difficile ... C'est difficile parce que:

  • vous avez beaucoup de responsabilités: les gens peuvent aller et venir dans une entreprise, mais pour bon nombre d'entre eux, leur atout le plus important est leurs données. Vous en êtes responsable et avez tous les pouvoirs sur elle. Comme dit le proverbe, les grandes puissances s'accompagnent de grandes responsabilités. Des erreurs très coûteuses se cachent.
  • vous devez apprendre et continuer à apprendre: je vois cela comme un bonus, mais tous ne sont pas prêts à prendre le temps de mettre à jour leurs connaissances.
  • cela peut prendre du temps: les choses vont se briser au milieu de la nuit, serez-vous prêt?
  • vous devrez souvent corriger les erreurs des autres: et vous n'obtiendrez généralement pas beaucoup de crédit pour tout votre bon travail. N'ayez pas peur de parfaire vos compétences relationnelles.

Brad Mc Gehee a écrit n livre à ce sujet, "Comment devenir un DBA exceptionnel". Vaut la peine d'être lu si vous avez l'intention d'approfondir la question.

Bonne chance!

7
KookieMonster

Je suis devenu dba à l'âge de 25 ans. Il m'a fallu 6 mois à partir du moment où j'ai commencé à étudier pour être certifié et 2 mois plus tard, j'ai eu un emploi. Je pense que la détermination joue définitivement un rôle majeur. Pour moi, ce n'était pas difficile d'obtenir le poste. Tout ce qu'il fallait, c'était la volonté d'étudier et de montrer que j'étais capable d'apprendre ce qui se présentait devant moi.

Je dirai que tout ce que j'avais était un diplôme en psychologie et une formation en service d'assistance. Quand j'ai reçu mon travail en tant que DBA Oracle Apps, j'ai immédiatement pensé à OMG, tout ce que j'ai étudié pour devenir un DBA CORE ne m'a pas aidé du tout. Je me souviens de m'être senti extrêmement dépassé. J'ai dû me rappeler quotidiennement que je peux apprendre cela et 2 ans plus tard, j'ai acquis beaucoup plus de connaissances.

Ce que je dis, c'est qu'être administrateur de base de données n'est pas difficile, pas difficile du tout, mais apprendre tout sur le tas et en dehors du travail, que nous devrions savoir, comme les précédents dba l'ont déjà mentionné, prend du temps et demande beaucoup de diligence. J'ai trouvé à 27 la plupart des gens de mon âge ou moins n'a pas la diligence ni le désir de vouloir apprendre un si large éventail de technologies. Mais j'aime mon travail en tant que DBA Oracle Apps et j'attends avec impatience tout le reste qui sera constamment jeté à ma façon d'apprendre. Vous pouvez le faire, si vous y pensez, peu importe votre âge!

5
oracledbagirl

Être un DBA signifie également que vous êtes proactif plutôt que réactif. Vous devez pouvoir imaginer ce que l'avenir vous réserve et planifier en conséquence. Cela implique de travailler dur ... une fois, plusieurs fois, et si vous le faites correctement, la récompense est un manque total de reconnaissance de nom. :-) Vous devez également avoir la capacité de dire "non" aux gens (y compris les patrons) et de communiquer objectivement et efficacement vos raisons pour lesquelles votre public peut comprendre. Vous devez être prudent et prendre des décisions rationnelles dans des situations de haute pression. Vous devez être en mesure de maîtriser vos erreurs rapidement et de ne pas les laisser vous masquer, mais plutôt de passer efficacement du mode "Je ne peux pas croire que je viens de faire ça" à "D'accord, quelle est la meilleure façon de résoudre ce problème." Vous devez être en mesure de suggérer avec tact des améliorations à un code de développeur de manière à ne pas insulter ou offenser, et c'est un art cultivé par l'expérience mais maîtrisé par peu.

5
stacylaray

En tant que personne qui se considère principalement comme un SysAdmin et, deuxièmement, un DBA accidentel, je pense qu'une partie de cela se résume à la quantité de connaissances nécessaires pour être autonome et faire le travail, ou peut-être plus important encore, pour comprendre le travail.

L'ancienne certification MCDBA le résume assez bien je pense. Il a nécessité quatre examens, un examen SysAdmin, un examen Infrastructure de réseau, un examen Développement de base de données et un examen Administration SQL. Il s'agit d'un large éventail de sujets, donc, en réalité, vous y arriverez probablement via l'un d'entre eux en premier. Je dirais qu'une grande partie de l'administration SQL repose sur les épaules des trois autres, donc la plupart des gens y arrivent via l'une de ces routes au départ. Par exemple, un SysAdmin gérant les sauvegardes SQL (ma première incursion dans SQL il y a plusieurs années), ou un développeur qui conçoit la base de données pour le code qu'ils écrivent. Au début, vous ne saurez pas tout, mais vous en aurez au moins une partie, par exemple les systèmes sur lesquels SQL s'exécute et comment fonctionnent les autorisations, ou les méthodes de programmation utilisées pour parler à la base de données, et à partir de là, vous peut apprendre le reste.

Il est difficile de juger si être un administrateur de base de données est vraiment ce que vous voulez faire jusqu'à ce que vous le fassiez, mais grâce à l'itinéraire ci-dessus, les gens peuvent progressivement y accéder. Vous pouvez soit l'aimer et en faire votre objectif de carrière, ou trouver que ce n'est pas pour vous et vous en tenir à votre cheminement de carrière précédent, le tout sans faire un bond de géant dans l'inconnu. Mais cela prend du temps et cela correspond au fait que DBA a tendance à être "plus sage au fil des ans" dans l'industrie.

Pour être un bon DBA, vous avez également besoin de la confiance et de la maturité qui ont tendance à venir avec l'âge. D'autres ont énuméré d'autres aspects de cela, mais j'ajouterais avoir la confiance de dire non et de défendre votre position, tempéré par l'expérience pour savoir quand c'est approprié.

Enfin, je pense qu'être un bon DBA nécessite un certain état d'esprit, et il est difficile de savoir si vous l'avez avant d'être dans les tranchées. Avoir le sens du détail, la volonté de planifier à l'avance, la capacité de voir la situation dans son ensemble et de ne pas avoir peur de documenter votre travail sont des aspects importants du maintien d'un système stable. Certains administrateurs système et développeurs sont comme ça et peuvent facilement effectuer la transition, tandis que d'autres peuvent constater que même si leur approche a de la valeur dans leur travail actuel, en tant que DBA, ils auront du mal à trouver ces choses une corvée et n'apprécieront pas le travail.

4
Keith Langmead

Je pense que la partie la plus difficile pour au moins devenir un administrateur de base de données assez involontaire est le fait que vous devez supporter tout ce qui arrive aux bases de données de l'organisation spécifique sur laquelle vous êtes tombé.

D'après mon expérience, mon premier choc a eu lieu un lundi matin lorsque le serveur de base de données s'est écrasé en raison d'une erreur apparemment matérielle, mais j'ai néanmoins été soupçonné d'avoir fait quelque chose de mal.

Vous pouvez imaginer que tout ce que l'on a jamais appris ou exercé au cours de sa vie doit être appliqué pour que cette chose fonctionne à nouveau. Ensuite, bien sûr, vous pouvez créer un clone et même des sauvegardes flash de l'ensemble - nous parlons ici juste d'un petit serveur de base de données qui achemine les choses vers d'autres réseaux informatiques via des serveurs de liens. Pourtant, la responsabilité se sent énorme pendant ces moments.

En tant que développeur de logiciels ou en tant que testeur de logiciels, la responsabilité est également grande, mais je n'ai jamais connu de moments aussi difficiles. Je peux imaginer que la raison réside dans le fait que chacun d'eux tisse un tout petit peu la toile d'araignée du monde des technologies de l'information.

Si jamais je deviens administrateur de base de données, je mettrai à jour tout ce que j'ai écrit ici.

Et, oui, j'ai maintenant 38 ans et demi.

3
user62547

Comme la plupart des compétences, apprendre à être un dba prend du temps. Devenir un bon dba prend plus de temps. Plus vous lisez et apprenez, plus vous pouvez appliquer de connaissances.

Un autre chemin pour devenir un dba est la rédaction de rapports ou en tant qu'expert d'application. Plus vous passez de temps sur SQL, plus vous en apprendrez sur le fonctionnement de dbs. Devenir compétent dans les requêtes SQL fournira un bon point de départ pour devenir un dba.

1
Sir Swears-a-lot