データベースのクラウド移行
データベースのクラウド移行を成功に導く
プロジェクト体制と5つの役割
データベースのクラウド移行を成功に導くプロジェクト体制と5つの役割
本コンテンツは、当社が執筆している 実践DX、データベースのクラウド移行 「どうするデータベースのクラウド移行体制、DBAやDAの役割は?」の内容を一部要約しつつ独自コンテンツを加えたものです。日経クロステック記事の全文はこちらをご覧ください。
目次
この記事では、「データベースのクラウド移行」を進める上で必要な体制について説明します。5つの職種に分けて、役割・担当業務と求められるスキルについて触れています。データベースのクラウド移行に「必要な役割」を「必要なタイミング」で「必要な人の数を確保」することで成功に一歩近づきます。不可欠な役割を洩れなくアサインすることが大事なので、ある程度詳細に至るまで理解することが有用です。
データベースのクラウド移行を進める体制と役割
今回のテーマは「データベースのクラウド移行を進める体制」です。データベースのインフラとデータの層を範囲としたデータベースをクラウドに移行するプロジェクトを想定してお話します*。
データベース移行に必要な役割(DBA、DA、チューニングエンジニア、運用DBA、管理者)とそれぞれのスキルセットについて、下表にまとめました。それぞれについて少し詳しく説明していきます。
*データベースのクラウド移行以外のプロジェクトでは担当業務内容が異なるため、データベースのクラウド移行に特化した内容とご理解ください。
データベース移行に必要な役割とスキルセット
役割 | 業務内容 | スキルセット |
---|---|---|
DBA | ・データベースのインフラ部分の移行性調査 ・移行先データベースアーキテクチャ設計 ・移行ツール選定、利用 | ・ 移行元DBMS、クラウド上のデータベースサービスの技術知識、経験 ・ クラウドへの移行ツールの知識、経験 |
DA | ・データ移行性調査 ・データ変換、移行 | ・ 移行先DBMSの技術知識 ・ DAとしての実務経験 |
チューニング エンジニア | ・移行先環境での性能ギャップ調査 ・データベース、SQLのチューニング | ・ 移行元DBMSでの性能調査経験 ・ 移行先DBMSでのチューニング経験 |
運用DBA | ・データベース運用設計 | ・ 移行後クラウドの経験 ・ 移行後DBMSの運用経験 |
管理者 | ・プロジェクト計画 ・工程管理、リスク管理 | ・システム移行経験 ・プロジェクト管理経験 |
DBA:Database Administratorの略、データベース管理者
DA:Data Administratorの略、データ管理者
DBA(データベース管理者)の役割とスキルセット
DBA:Database Administratorの略、データベース管理者
DBAは、データベースのインフラ層を設計、移行に責任を持つスペシャリストです。
クラウド環境では、運用の多くが自動化されている変わりに、オンプレミスと比べると設計と運用の自由度が多少落ちます。特殊な機能やベストプラクティスから外れた運用の一部ができないことがあります。また、DBMSを変更して移行する場合は、DBMSの差異を把握してギャップを埋める設計と変換をします。アプリケーションのギャップに対しては責任範囲ではない(アプリケーションエンジニアの担当範囲)のですが、通常、DBMSのスペシャリストとして技術的な支援をすることが期待されます。
この業務を実行するために、クラウド上のデータベースサービスに加えて、移行元と移行先の両方のデータベース管理システム(DBMS)に関する深い技術的知識が求められます。
DBAの業務内容はデータベース移行の工程によって変わります。
移行計画
データベース移行のギャップやリスクを洗い出して、実現性に対する見解を示します。データ移行が予定された時間内に、かつ効率的に完了できるかどうかも評価の対象です。技術評価、概念実証(PoC)、移行計画立案といった上流工程の経験が求められます。クラウドでのデータ基盤サービスには新しいものが多いため、すべてのDBMS、ツール、クラウド環境の経験を求めると調達が難しくなってしまいます。
クラウドでデータベースの設計、運用経験があり、調査能力が高ければ、DBMSやツールの知識が不足していてもキャッチアップはできます。この条件に当てはまるメンバーがいないか、不安がある場合は、外部人材に支援してもらうことも検討します。
移行の実行
DBAは、データベース移行実行の工程では、データベース環境の設計、構築、データ移行を担当します。設計については移行計画を担う能力があれば難しいことはなく、構築についてはクラウドではほぼ自動化されているため、問題となることは少ないでしょう。
データ移行の時間短縮や正常性確認、ツール利用においてはノウハウが必要になります。短時間での移行、データ量が非常に多い移行など、データ移行に厳しい要件がある場合は経験者がいるほうがスムーズに進みます。
DA(データ管理者)の役割とスキルセット
DA:Data Administratorの略、データ管理者
DAは、データそのものを扱うスペシャリストです。
データ管理者は、データベース内のスキーマ構造とデータの層に責任を持ちます。この層は、DBMSが変わらない場合、バージョンの違いによってごく小さな非互換が発生しうる程度です。
DBMSが変わる場合は、スキーマ構造全般の移行前後でのマッピングを検討する必要があります。DBMSの主要機能だけ使っている場合でも大きなギャップが発生することがあります。スキーマを使用してデータを管理する際に生じる仕様の違いに詳しいDAであれば、移行に対応できるでしょう。
データ移行をDBAとDAのどちらが担うかについては考え方が分かれるところだと思います。ここでは、データの単純移行をツールを使って一括で実行することを想定し、ツール、ユーティリティー知識量が多いDBAの役割としました。
チューニングエンジニアの役割とスキルセット
データベースのチューニングはDBAやDAが担当することが一般的ですが、特殊性が高いため、「チューニングエンジニア」の役割を独立で設定しました。
チューニングエンジニアは経験値が不可欠な役割にも関わらず、多様なケースでのチューニング経験を蓄積する機会は限られるため、経験者が非常に少ないです。DBAの中でもチューニングが得意な方は希少な存在です。
データベースをクラウドに移行すると、SQLによって性能が良くなったり悪くなったりします。性能が悪くなった(レスポンス要件を満たさなくなった)SQLをチューニングする必要性が生じます。
PoCの段階で性能悪化が見られた場合に、チューニングによって対応可能かを評価します。以降はテスト工程で性能悪化が顕在化してリアクティブにチューニングしていくことが多いのが実情です。テスト工程でチューニングが必要なSQLが多いことが分かると移行プロジェクトの期間が守れなくなるリスクが生じます。そうならないよう、PoCの際にリスクを洗い出して設計工程から計画的に性能リスクに対応したいものです。しかし、このような動きができるチューニングエンジニアは更に希少で調達がとても難しいです。
チューニングエンジニアが自社内にいるケースは稀です。データベースの移行と運用において常に必要するエンジニアリングリソースではないため、あまり育成の対象になることはありません。外部から一時的に入ってもらって、利用頻度の高いチューニングテクニックのみを組織内メンバーで習得するといった割り切りでも問題ないでしょう。
運用DBAの役割とスキルセット
運用DBAは、移行先のクラウド環境でデータベースの運用を担当します。
クラウド環境のデータベースサービスに組み込まれている自動運用機能、運用を担う監視やログ管理・セキュリティ管理のためのサービスについての知識があると望ましいです。クラウドの運用機能は比較的習得が易しく、技術的にはキャッチアップしやすいです。
難しいのは、「オンプレミスとクラウドの運用スタイルの違いへの適応」でしょう。自動運用を取り入れて、時間に余裕を持ったうえで、第1回で触れた「自動化、FinOps」などの新たな運用業務に取り組みます。このスタイルの変化に手間取る方が多いです。
管理者の役割とスキルセット
管理者は、データベースのクラウド移行プロジェクトを管理します。
プロジェクトのリスクを理解して管理するために、データベースに対する技術的知見やシステム移行経験がある方が望ましいといえます。ただ、実際のところ、データベースに詳しい管理者は多くはいないので、システム移行経験のある管理者とDBAリーダーの組み合わせで管理業務を分担するというのが現実的な選択肢になります。
本記事に関するより詳しい説明は、日経クロステック記事に掲載されています。ご興味のある方はご覧いただければと思います。
次回は「データベースのクラウド移行の見積もり」について説明します。