Accueil🇫🇷Chercher

Administrateur de base de données

L'administrateur de base de données (DBA : DataBase Administrator en anglais) est une personne responsable du bon fonctionnement de serveurs de bases de données, essentiellement relationnelles (OLTP) ou décisionnelles (OLAP), tant au niveau de la conception des bases, des tests de validation, de la coordination des intervenants, de l'exploitation, de la protection et du contrôle d'utilisation. Les compétences requises pour cette fonction sont multipolaires : système, développement, sécurité et fonctionnement des serveurs de bases de données. L'expérience y est prépondérante. Le DBA travaille souvent en relation étroite avec les administrateurs systèmes et les développeurs au sein d'une direction des systèmes d'information[1].

Administrateur de bases de données
Fonction
Salaire
2400 euro
Codes
CITP
ROME (France)
M1801

Description

Le DBA est principalement chargé de :

  • La mise en place de standards, prĂ©conisation et bonnes pratiques : il dĂ©cide des normes de nommage des objets pour les bases crĂ©Ă©es en interne, Ă©dicte les bonnes pratiques que les dĂ©veloppeurs devront suivre, documente les procĂ©dures de maintenance afin que d'autres acteurs puissent intervenir en son absence.
  • L'Ă©valuation des besoins et de la qualité : certaines bases de donnĂ©es n'Ă©tant pas dĂ©veloppĂ©es de manière interne, il est important qu'il soit consultĂ© afin de dimensionner les serveurs devant hĂ©berger une solution applicative d'Ă©diteur, tant sur le plan des ressources (volumĂ©trie, nombre d'accès), que sur le plan de la maintenance (maintien des performances, frĂ©quence des sauvegardes…).
  • La modĂ©lisation de la base : bien qu'elle incombe normalement Ă  l'analyste ou au concepteur (parfois au dĂ©veloppeur), les principes de modĂ©lisation de bases de donnĂ©es doivent ĂŞtre parfaitement maitrisĂ©s par le DBA. En effet, les facteurs de dĂ©gradation des performances Ă©tant en premier lieu liĂ©s Ă  la structuration des donnĂ©es (respects des principes de modĂ©lisation, relationnel ou dĂ©cisionnel…), le DBA se doit de bien connaĂ®tre les principes de modĂ©lisation et les problĂ©matiques en jeu afin de conseiller les analystes et dĂ©veloppeurs ou bien pour rĂ©soudre les problèmes de performance Ă  ce niveau par refactoring.
  • La dĂ©finition et la gestion des espaces de stockage : comme une base de donnĂ©es a besoin de beaucoup de place pour les donnĂ©es et le journal de transaction, il doit dimensionner les espaces de stockage physiques (storage : tablespace, groupes de fichiers…) et logiques (partitionnement), et choisir les disques ou SAN de manière prĂ©ventive, et les auditer rĂ©gulièrement afin de dĂ©cider de l'ajout ou du basculement de certains objets logiques sur de nouveaux espaces (croissance de la volumĂ©trie des donnĂ©es et "capacity planning").
  • L'intĂ©gritĂ© des donnĂ©es : il vĂ©rifie ou aide Ă  vĂ©rifier la cohĂ©rence des donnĂ©es de la base afin qu'elles ne rentrent pas en conflit avec les principes du système rĂ©el. Pour cela, il est chargĂ© de la mise en Ĺ“uvre de contraintes d'intĂ©gritĂ© (intĂ©gritĂ© de domaine, clef primaires et subrogĂ©es, clefs Ă©trangères et leur mode de gestion, validation des donnĂ©es, assertions…) ;
  • La sĂ©curitĂ© d'accès aux donnĂ©es : il dĂ©finit ou implĂ©mente l'accès aux donnĂ©es en autorisant des profils de connexion ayant facultĂ© d'exĂ©cuter certaines commandes dans certaines bases (gestion des privilèges) ;
  • La rĂ©cupĂ©ration de donnĂ©es : il doit s'assurer que le plan de sauvegarde mis en place est opĂ©rationnel et recouvrant. Pour ce faire il doit auditer la frĂ©quence de changement des donnĂ©es sensibles afin, par ses sauvegardes, de pouvoir remonter une base Ă  un point particulier du calendrier, Ă  la suite d'une erreur fonctionnelle. Il doit aussi et très rĂ©gulièrement vĂ©rifier la consistance des sauvegardes et la faisabilitĂ© de la restauration en expĂ©rimentant celle-ci dans des conditions proches de la rĂ©alitĂ© (gestion de dĂ©sastre).
  • La maintenance de base : il doit vĂ©rifier que les espaces de stockage sont en bon Ă©tat et dans le cas contraire les rĂ©parer. Il doit dĂ©fragmenter les structures de stockage et les index afin d'assurer un temps de rĂ©ponse linĂ©aire. Il doit s'assurer de la bonne gestion des fichiers (donnĂ©es et journaux de transactions) afin que ces derniers ne saturent pas les disques.
  • La gestion des dĂ©sastres (disaster recovery) : il doit crĂ©er et tester des solutions de maintien de la continuitĂ© de la production (clusterisation, mise en miroir, log shipping…) afin qu'en cas de sinistre matĂ©riel la production puisse redĂ©marrer dans un temps imparti prĂ©dĂ©fini (quelques secondes pour les meilleures solutions);
  • Le maintien de la performance : il assure que l'accès aux donnĂ©es se fasse dans un temps raisonnable et que cette performance soit maintenue dans le temps. Il doit donc mettre en Ĺ“uvre une veille sur les statistiques d'exĂ©cution et rĂ©agir sur des allongements de temps de rĂ©ponse en diagnostiquant le problème et en le rĂ©solvant si celui-ci est de son ressort (procĂ©dures de maintenance, ajout de ressources physique, refactoring du modèle de donnĂ©es…). Pour cela il dispose d'outils qui lui donnent des informations sur les objets les plus utilisĂ©s et leur consommation de ressource lors des traitements (lecture, Ă©critures, temps CPU…).
  • L'optimisation : il doit rĂ©gulièrement et de manière pro-active faire des campagnes de mesure afin de dĂ©busquer les problèmes de contention ou de temps de rĂ©ponse avant qu'ils ne deviennent handicapants pour l'exploitation et proposer les mesures nĂ©cessaires Ă  les Ă©radiquer : meilleurs gestion des transactions, Ă©tudes d'indexation, statistiques, rĂ©Ă©critures de requĂŞtes.
  • L'aide au dĂ©veloppement et aux tests : il doit fournir un support aux Ă©quipes de dĂ©veloppement. Par exemple, il peut fournir des jeux de donnĂ©es en vue de tests (pris sur des bases en production), conseiller les dĂ©veloppeurs sur les techniques Ă  utiliser afin d'obtenir les meilleures performances d'emblĂ©e, voir participer Ă  la structuration de la base afin notamment d'implĂ©menter les nouvelles fonctions. En dernier ressort, il valide les demandes de modifications ou modification du schĂ©ma de la base;
  • La gestion des flux de donnĂ©es : il est responsable des problĂ©matiques d'import et d'export des donnĂ©es tant sur le plan des ressources Ă  y allouer que de la sĂ©curitĂ© Ă  mettre en Ĺ“uvre.
  • Migration et mises Ă  jour : il doit rĂ©gulièrement appliquer les mises Ă  jour prĂ©conisĂ©es (système et SGBD) et assurer la migration des bases par exemple dans le cas d'un changement de serveur.

NOTA : la plupart des opérations de maintenance qu'un DBA doit réaliser s'effectuent en production, c'est-à-dire sans interrompre le service des données. Les exigences en matière de disponibilité visant bien souvent 99,999 % du temps (soit 5 minutes d'interruption par an), les SGBD sont conçus pour ne jamais devoir être arrêtés quelles que soient les opérations à effectuer, et certains serveurs physiques d'aujourd'hui permettent d'ajouter de la mémoire ou du CPU à chaud.

Le DBA doit être en mesure de bien connaître les systèmes de production ou de services existant (physiques, c'est-à-dire OS et réseau, et logiques, c'est-à-dire sur le plan fonctionnel) sur les sites d'utilisation de la base de données. Il est en général spécialisé sur un type de moteur de base de données particulier (MySQL, Oracle Database, DB2, Microsoft SQL Server, Sybase, Informix, PostgreSQL, Ingres,…) commercial ou non.

On distingue plusieurs sous-catégories de DBA :

  • L'administrateur de bases de donnĂ©es dĂ©veloppement ou Ă©tudes : Il travaille conjointement avec les Ă©quipes de dĂ©veloppement et est responsable du modèle logique et physique de la base de donnĂ©es. Il a souvent Ă  charge l'administration des bases pendant la durĂ©e du projet. Il peut ĂŞtre amenĂ© Ă  dĂ©velopper les procĂ©dures ou scripts SQL, et participe Ă  la validation et aux tests. Il est très souvent responsable du contenu et du contenant (les donnĂ©es et le serveur lui-mĂŞme).
  • L'administrateur de bases de donnĂ©es production : Il assure la disponibilitĂ© et le bon fonctionnement des systèmes de bases de donnĂ©es. Il travaille en environnement haute disponibilitĂ© 24h/24h 7/7j. Cette fonction s'accompagne presque systĂ©matiquement d'astreintes. La volumĂ©trie peut ici ĂŞtre très importante, quelques dizaines Ă  quelques milliers de bases de donnĂ©es par DBA, soit au maximum une centaine de serveurs Ă  surveiller. Il est en gĂ©nĂ©ral responsable du contenant mais pas du contenu : le système de bases de donnĂ©es, mais pas les donnĂ©es elles-mĂŞmes. Cependant il doit toujours ĂŞtre en mesure de rĂ©cupĂ©rer les donnĂ©es, et de restaurer une image valide des systèmes. Il est mieux rĂ©munĂ©rĂ© que l'administrateur dĂ©veloppement principalement Ă  cause des risques et des responsabilitĂ©s qu'il assume : une panne majeure pouvant aller jusqu'Ă  la faillite de la compagnie.

Outils du DBA

Les outils utiles au travail du DBA sont les suivants :

  • outils internes (propre au SGBD) : utilitaire de sauvegarde, de vĂ©rification des structures d'allocation, de dĂ©fragmentation des donnĂ©es, outils d'audit ou de tuning, assistants de mise en place de rĂ©plications, outils d'intĂ©gration de la haute disponibilitĂ© au niveau logique.
  • outils externes (propre au SGBDR ou d'Ă©diteurs indĂ©pendants) : outils d'intĂ©gration ou d'export des donnĂ©es dit ETL (Extract Transform and Load) ou ELT (Extract Load and Transform) comme Talend, Pentaho, Oracle Data Integrator, SQL Server Integration Services - outils de sauvegarde (Herman de Falconstore pour Oracle, Speed Light de Quest Software pour SQL Server…) - outils d'audit divers (Performance Advisor de Sentry pour SQL Server, Toad de Quest Software pour Oracle…) - outils de gestion de la haute disponibilitĂ©s au niveau physique (Oracle RAC, Microsoft Clustering Services), de vĂ©rification des bonnes pratiques (SQL Server Best Practices Analyzer…).

NOTA : certains éditeurs comme Oracle font payer chacun des outils séparément en sus de la licence d'exploitation du serveur. D'autres comme MS SQL Server intègrent tous ces outils en standard dans la licence, certains étant téléchargeables.

Qualités requises

Les caractéristiques personnelles requises pour faire un bon DBA sont les suivantes :

  • expĂ©rience : Ă©tant donnĂ© les enjeux de son mĂ©tier, il est rare qu'un informaticien soit promu DBA Ă  la sortie de l'Ă©cole. La fonction se doit d'avoir une certaine expĂ©rience avant de pouvoir ĂŞtre assumĂ©e pleinement;
  • disponibilité : dans une PME, un DBA doit pouvoir ĂŞtre joint parfois 24h/24 et agir en urgence partout oĂą il se trouve. Dans une grande entreprise, bien que le travail s'effectue aux horaires de bureau normaux, les opĂ©rations de maintenance ou de migration les plus risquĂ©es sont programmĂ©es les dimanche et jours fĂ©riĂ©s afin de ne pas pĂ©naliser les utilisateurs (la production et la clientèle).
  • pragmatisme : mĂŞme s'il doit agir dans l'urgence, il doit conserver son sang-froid et avoir assez d'autoritĂ© et de compĂ©tence pour imposer son savoir-faire et ses manières
  • froideur, distance : compte tenu de l'importance stratĂ©gique des donnĂ©es dans les SI, le DBA peut ĂŞtre obligĂ© de devenir un interlocuteur privilĂ©giĂ© de la direction lorsqu'il est en contradiction avec ses supĂ©rieurs directs ou ses collatĂ©raux (DSI, ingĂ©nieurs systèmes).
  • raisonnement : compte tenu de la diversitĂ© des techniques nĂ©cessaires Ă  maitriser et de la complexitĂ© des SGBD, il est impĂ©ratif de faire preuve de discernement et de bon sens afin de rĂ©soudre certains problèmes.

NOTA : un des principaux avantages du métier de DBA est qu'il est peu sensible à l'offshore. En effet, autant les entreprises ont intérêt à déplacer les développeurs là où les coûts sont moindres, autant les données étant très souvent le cœur du pouvoir les entreprises ont tout intérêt à conserver leurs données sensibles (notamment décisionnelles) au plus près du pouvoir.

Ce fait est cependant remise en cause théoriquement, par la concurrence des pays émergeant comme l'Inde, où IBM avait le projet de délocaliser l'ensemble des fonctions de services informatiques de la SNCF, lorsqu'elle a remporté un appel d'offres. Face au tollé médiatique, IBM, qui se portait garant de l'intégrité des informations (puisqu'elle est un élément de l'appel d'offre) tout en réduisant les coûts par dix, a dû rester en France mais au prix fort. La direction de la SNCF n'enterre pas le projet car elle subit de lourdes pertes financières et qu'elle estime que ce n'est pas à elle de subventionner l'emploi en France.

Conditions générales d'exercice de la profession

Suivant le type de prestation, et l'environnement à gérer, les conditions peuvent varier. En général, cette profession s'exerce selon des horaires de travail réguliers, mais occasionne presque toujours la demande d'heures supplémentaires ou de week-end, pour les postes de production. D'importants efforts intellectuels sont parfois nécessaires afin de suivre les données et d'en comprendre la nomenclature et la structure. La profession s'exerce principalement devant un écran. Un effort constant de mise à jour des connaissances est nécessaire.

Formation

L'accès à cette activité demande généralement un diplôme de l'enseignement supérieur ou universitaire. L'intérêt pour les modèles mathématiques et l'aptitude à penser de manière structurée font également partie des critères de sélection.

Il existe à ce jour des diplômes couplés généralement avec l'administration de réseaux (licence professionnelle ARDB) il existe aussi certaines formations spécialisées en administration de bases de données dispensées par des universités (« UV NFE 113 du CNAM ») ou des organismes de formation professionnelles (Orsys, Learning Tree…) formant sur les solutions propres aux éditeurs.

Le parcours de formation nécessaire pour obtenir les compétences par une certification est souvent très onéreux car multiple. Exemple : l'obtention de la certification MCDBA pour MS SQL Server nécessite 4 à 5 cursus de formation et 3 à 4 examens.

Les DBA sont souvent d'anciens informaticiens qui se sont spécialisés.

Rémunération

En France

De 35 000 € (débutant) à 75 000 € par an (situation 2008). Moyenne aux alentours de 40 000 €. Médiane aux alentours de 50 000 € [2].

Cependant, ces salaires concernent un cadre, a priori bac+5, alors qu'un agent de maitrise, a priori bac+3 ou BTS, ou un technicien (BTS, diplôme inférieur ou autodidacte), auront moins de responsabilité et moins de revenus. La formation personnelle (langages informatiques, relations humaines avec les collaborateurs, les donneurs d'ordre et les clients) et continue (concepts de programmation, gestion de projet) est donc très importante.

Aux États-Unis et Canada

De 50 000 $ (débutant) à 100 000 $ par an (situation 2011), Moyenne aux alentours de 70 000 $. Médiane aux alentours de 80 000 $. Les DBAs indépendant sont les mieux payés de tous (100 000 $), mais leur emploi n'est jamais garanti.

$ en dollars US, le dollars Canadien (CAD) est à parité () [3]

À noter : dans les grandes organisations, le DBA est mieux payé que les administrateurs de SI du fait de l'importance vitale des données. Un crash d'exploitation est toujours réversible, mais pas la perte des données (si on fait des économies sur les sauvegardes de données).

Lectures conseillées

  • Introduction aux bases de donnĂ©es, Chris Date, Vuibert, 2004 (ISBN 978-2-7117-4838-9)
  • Gestion et administration des bases de donnĂ©es (Application Ă  Sybase et Oracle), Nacer Boudjlida, Dunod, 2003 (ISBN 978-2-10-005847-1)
  • Database Administration : The Complete Guide to Practices and Procedures, Craig S. Mullins, Addison-Wesley Professional, 2002 (ISBN 978-0-201-74129-2)

Notes et références