【ブログ】データベースの専門家のためのDataOpsとは何か?

*このブログは、2021年12月30日にDavid Kleeが投稿したブログの抄訳です。

ITにおけるサイロは過去のものであるべきです。しかし、この数十年間、世界中の多くのIT企業の堅固で遮断されたITサイロは、ITシステムを設計するうえでの欠陥となってきました。企業のIT部門は、パズルのそれぞれのピースに個別に取り組み、多くのタスクをこなしてきたものの、自身の作った成果物が企業の利益にどのように貢献するかについて、ほとんど意見や会話を交わすことはありませんでした。この流れを図にすると、図1のようになります。

1:従来のデータエンジニアリングのワークフロー

データプラットフォームチームは、物理サーバーや仮想サーバー、ストレージ、ネットワークなど、すべてが動作するための基盤を提供し、すべてが通信できるようにします。統合に特化したチームは、開発に必要なデータソースを提供する。データの開発者は、これらのデータソースを使用して、データの意味を抽出し、アプリケーションがそれを処理できるようにします。アプリケーションは最終的にこのデータフィードを受け取り、エンドユーザーに提供することになります。

 しかし、このプロセスには問題があり、エンドユーザーが体験するソフトウェアの品質が低下し始めたのです。この状況を改善するために、さまざまなソフトウェアエンジニアリングの方法論が生まれ、データ配信のためのソフトウェアリリースの品質を向上させ、速度を速めることができました。しかし、データエンジニアリング(データの統合、保存、検索を効率的かつ正確に行うこと)は、それに追いついていないのが現状です。基幹アプリケーションの背後にあるデータを管理し、変換するプロセスは、まだ始まったばかりなのです。

 DataOpsは、いくつかのソフトウェア開発手法の長所をデータエンジニアリングに導入し、データ管理の実践を改善するために考案された新しい方法論です。DataOpsは、以下の2つのレイヤーの改善を実現します:

 1.コマンドユニットテストや統合フレームワークなど、特定の作業を自動化・効率化すること

 2.クエリのパフォーマンスとリソースの消費を把握するために、継続的に分析および監視を行うこと

DataOpsのゴール

DataOpsの主な目的は、データのライフサイクル全体をリアルタイムに分析し、開発プロセスがデータ処理と配信の品質と効率を向上させることができるフィードバックを生成することです。

 DataOpsの最初のステップは、IT部門がこれらの分析結果を活用し、各チームが共同でデータエンジニアリング・プロセスをソフトウェアエンジニアリング・プロセスのように効率化できるような新しい考え方を受け入れられるように後押しすることです。この考え方の転換の後、それを支援するツールを導入するべきでしょう。

 DataOpsのゴールの1つは、ソフトウェア開発のライフサイクルのどの段階にあるアプリケーションであっても、一貫して正確なデータを提供できるようにするための基盤を提供することです。ユニットテストでは、データベースコマンドを自動的に検証し、提供されるデータの品質を高める必要があります。

また、手作業や再現性のないデータ統合プロセスも、改善の対象となります。再利用可能な統合フレームワークは、異なるデータソースとの統合を簡単かつ繰り返し可能にするだけでなく、一貫したプロセスで時間の節約とヒューマンエラーの可能性を低減します。

 最後に、マクロレベルの全体的なデータプラットフォームの状態と、ミクロレベルのコマンドパフォーマンスの傾向を継続的に監視することで、システムの状態や期待されるコマンド動作の変化についてリアルタイムに把握することができます。パフォーマンスを低下させるコード、CPUやRAMを過剰に消費するコード、以前より大幅にパフォーマンスが低下したコードは、開発プロセス中に特定され、迅速に修正することができるようになります。図2は、開発サイクル全体を通してフィードバックが可能になることを表しています。

 

 図2:DataOpsの手法を適用したデータエンジニアリングのワークフロー

SolarWindsがご支援できること

メリットがあるにもかかわらず、DataOpsはあまり採用されていません。その主な理由の1つは、どこから始めるのか分かりづらく、時間がかかるからです。

 そういった場合は、SolarWindsにご相談ください。DataOps製品スイートは、データエンジニアリング・プロセスを強化し、競争優位性を高めることを支援します。ここでは、各コンポーネントの機能を紹介します:

  • SolarWinds Database Mapperは、データプラットフォームの時系列での変化を検証・分析するのに役立ちます。
  • SolarWinds Task Factoryは、効率的なETLプロセスを保証する、再利用可能なデータ統合フレームワークを提供します。
  • SolarWinds SQL Sentryは、SQL Serverプラットフォームのマクロレベルおよびミクロレベルの監視を提供します。このため、開発中のコマンドのパフォーマンスを向上させ、コードがリリースされた後もパフォーマンスを維持することが可能です。

これら3製品は、データエンジニアリングを実践するためにIT部門の業務改革の一環として使用することで、複雑なデータプラットフォームを最大限に活用できるよう支援します。データ開発とエンジニアリングをソフトウェア開発のスピードに合わせて進めることができるだけでなく、プロセス全体を通してデータ品質を向上させることができます。