Évolution d’un DBA dans le monde du cloud

Mon deuxième emploi en technologie était en tant que DBA. J’ai vraiment apprécié ce travail car je devais non seulement travailler sur des schémas de table, des index (il me manque toujours INGRES car je dois choisir le bon type d’index), l’optimisation des requêtes, les chemins d’accès, la sauvegarde et amp; processus de récupération, sécurité, travaux ETL, etc. J’ai également pu passer des heures à examiner la profondeur de la file d’attente, les iops et la latence, à concevoir le SAN en examinant les LUN et à configurer les niveaux RAID appropriés. C’était probablement la seule fois où j’ai pu trouver un schéma de code couleur qui avait du sens!

Ensuite, il est devenu encore plus intéressant quand il ne s’agissait pas seulement de choisir quelle saveur de base de données relationnelle c’était bien de quel type de base de données non SQL ai-je besoin (cela compensait le fait de ne même pas avoir à penser à quel type d’index J’avais besoin d’une sorte de 😀). Revenons donc à des époques plus récentes et au “Cloud”, où désormais se soucier des LUN et des disques par bandes n’est pas une chose, du moins ce n’est pas sur le cloud avec lequel je travaille ces jours-ci.

Un grand nombre des tâches que je faisais en tant que DBA ont été abstraites car il s’agit maintenant du problème de GCP, mais d’autres préoccupations sont intervenues pour combler ce lourd fardeau indifférencié de bas niveau.

Il y a deux choix quant à la façon dont vous gérez vos bases de données dans le cloud et je vais me concentrer sur GCP ici (supposons que vous soyez tous partants pour cet article) soit vous déployez et gérez votre propre base de données sur le moteur de calcul ( GCE) ou vous utilisez l’un des services de base de données entièrement gérés.

Déploiement et gestion de bases de données sur GCE

Je sais donc que je suis en train de parcourir la surface, mais je veux juste donner un aperçu des tâches que vous, en tant qu’administrateur de base de données, devez prendre en compte lors du déploiement sur GCE. Certaines d’entre elles sont identiques à celles que vous faites sur site, mais d’autres tâches sont en fait considérablement faciles à accomplir.

Si vous effectuez un déploiement directement sur GCE, vous devez avoir une compréhension approfondie du côté opérationnel du logiciel de base de données que vous allez utiliser comme vous le feriez sur site. Vous devez effectuer la séparation habituelle des données et des journaux sur des disques séparés du disque de démarrage qui ne change pas vraiment en tant qu’approche. Les processus de sauvegarde et de restauration utilisent Cloud Storage (GCS) nearline pour déplacer vos fichiers de sauvegarde de base de données à partir de disques persistants (PD). Les disques persistants sont des périphériques de stockage durables qui fonctionnent de la même manière que les disques physiques d’un bureau ou d’un serveur. Compute Engine gère le matériel derrière ces appareils pour garantir la redondance des données et optimiser les performances pour vous.

Si vous souhaitez répliquer un système de stockage à plusieurs niveaux, implémentez un processus qui vous permet de déplacer les sauvegardes des PD, vers le GCS standard, puis vers le GCS nearline. Surveillance et journalisation, vous pouvez utiliser stackdriver car il dispose d’agents prêts à l’emploi pour surveiller certaines bases de données courantes. Vous évite de configurer des infra supplémentaires pour la surveillance

Besoin de RAM (bien sûr que vous en avez!) Choisissez un type d’instance qui vous donne la quantité de RAM dont vous avez besoin ou s’il n’y en a pas une qui convient tout à fait à en personnaliser une.

Les bases de données (ignorons les bases de données en mémoire pour cet article!), les E / S disque et le débit ont toujours été un aspect clé de ce sur quoi vous devez vous concentrer. Vous devez toujours vous concentrer sur ces paramètres, mais c’est là que vous devez vraiment penser différemment. Désormais, vous ne vous souciez plus des DAS, NAS ou SAN, des canaux fibre et des niveaux RAID. La documentation GCP pour les professionnels des centres de données comprend une section intéressante pour vous aider à comprendre le passage du stockage SAN et d’archivage aux PD et GCS.

Remarque: vous obtenez des disques SSD locaux mais ils sont liés à l’hôte sous-jacent, donc seulement vraiment recommandé pour les disques de travail et les disques qui peuvent être reconstruits rapidement.

Vous devez maintenant vous préoccuper du type de PD, de la taille de vos PD et si vous utilisez des PD SSD, le nombre de processeurs virtuels.

Le tableau de la documentation sur la comparaison des performances de stockage en bloc est un bon point de départ ou si vous voulez faire un saut plus doux que le tableau comparant un SATA 7200 tr / min à un PD standard ou un PD SSD PD est excellent pour comprendre comment vous devriez penser à propos des performances de stockage en bloc et de leur utilisation pour dimensionner correctement vos PD.

Cela vaut la peine de lire, puis de relire toute la page sur l’optimisation du disque, mais voici quelques points clés dont je pense personnellement qu’il vaut toujours la peine de se souvenir:

Un excellent exemple de la façon de tout rassembler et de réfléchir à la gestion et à l’optimisation d’une base de données sur GCE est ce document sur le site GCP sur les bonnes pratiques pour Microsoft SQL Server sur GCP.

Alors maintenant, un DBA cherche à optimiser les E / S et le débit à un niveau d’abstraction plus élevé, car GCP s’occupe de ce gros travail indifférencié (même si je manque que ce n’était pas la meilleure utilisation de mon temps en fin de compte!). Fondamentalement, les problèmes d’infra de niveau inférieur sont devenus beaucoup plus faciles une fois que vous avez compris ce sur quoi vous devez vous concentrer.

Bases de données entièrement gérées de GCP

Avec des bases de données entièrement gérées, vous n’êtes plus concerné par le détail des tailles de PD et l’optimisation de la taille des blocs, etc. pour maximiser les performances. Maintenant, vous vous concentrez sur les conseils individuels fournis pour chaque service.

Je recommanderais si vous êtes nouveau sur GCP et que vous avez pris la décision tout à fait judicieuse de le gérer entièrement, de commencer par cet article sur le cycle de vie des données sur GCP (il doit également ajouter un indice Spanner!). Une fois que vous l’avez lu, lisez le guide des concepts et lancez-vous rapidement.

J’ai cité ci-dessous quelques exemples de services de base de données gérés sur GCP, ainsi que des conseils pour optimiser leur utilisation.

<₹BigTable

<₹DataStore

Les tâches qu’un administrateur de base de données traditionnel effectuerait généralement ont essentiellement progressé dans la pile. Cela signifie qu’il y a plus de temps pour s’impliquer dans d’autres choses.

Le stockage et l’interrogation de données ne sont que la partie émergée de l’iceberg, car l’intégration de données dans votre magasin de données et les tâches cloud et ETL font partie du processus de DBA. Je n’avais pas oublié honnête!

ETL

L’intégration de Hadoop et de son écosystème est la voie habituelle suivie pour résoudre une grande variété de problèmes de données. J’aurais peut-être dû inclure cela dans le cadre de ce qu’un DBA typique fait ces jours-ci (mais je suppose que je pars des outils que j’avais lorsque j’étais un DBA et Hadoop n’en faisait pas partie).

Ma première incursion dans Hadoop et son écosystème était en fait avec le système EMR d’AWS. J’ai donc raté tout le matériel de base sous les bureaux et dans les armoires, ce qui fait partie de & amp; parcelle de l’exécution d’un infra Hadoop sur site. J’ai eu une introduction relativement indolore. Jetez un œil à Dataproc de GCP, c’est vraiment la façon dont les tâches de type Hadoop devraient être exécutées à mon humble avis (mais je suis peut-être légèrement biaisé 🙂)

Peu de temps après les charges de travail de type Hadoop (et oui je suppose que je veux vraiment dire cartographier / réduire), chercher des solutions pour aider à faire fonctionner l’architecture lambda sans déchirer les yeux serait le prochain à comprendre, donc Apache beam est probablement la prochaine étape ou en fait la première étape si vous n’avez jamais touché Hadoop. c’est la prochaine génération, alors autant commencer par là de toute façon. La version entièrement gérée de cela étant Dataflow sur GCP.

À l’heure actuelle, vous pensez probablement tenir bon avec cette progression dans la pile, n’est-ce pas vraiment renommé un DBA en ingénieur de données? et vous savez que vous avez raison (si vous n’êtes pas tout à fait sûr de ce qu’est un Data Engineer, j’adore cette description comme la meilleure que j’ai lue à ce jour).

Les ingénieurs de données sont à mon avis un DBA évolué avec des outils plus cool pour les aider à faire leur travail. J’ai vu des mashups qui lancent également au hasard dans le ML, mais je pense que cela s’inscrit davantage dans le seau de la science des données. Je ne vais pas entrer dans une discussion philosophique sur où vous tracez la limite pour être honnête, les titres de poste ne vous donnent qu’une vague idée de ce que quelqu’un fait principalement dans son travail quotidien de toute façon et les contours sont si flous.