テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)

Fabricへデータ資産をアップグレード Q&A①

前回は、Power BIのセマンティックモデルに関する重要なQ&Aをご紹介しました。今回は、さらに重要なFabricワークロードに関するQ&Aをまとめました。

ignite.microsoft.com

イベントの視聴URLは上記の通りですが、Q&Aに対する回答者は以下4名 +Josh Coplan(OneLakeの製品リーダー)となります。

  • Amir Netz
    Technical Fellowという肩書でFabricにおけるCTO(Microsoft歴27年)。Vertipaqエンジンの開発者であり、今のPower BIがあるのは彼のおかげといっても過言ではない(参考記事)。めちゃくちゃパワフルな方で個人的に大ファンです
  • Justyna Lucznik
    元々はPower BIのAI(Q&A等)を担当されていたが、FabricではData EngineeringやData Scienceの製品リーダー
  • Priya Sathy
    現Data Warehouseの製品リーダー
  • Wee Hyong Tok
    データ統合機能(Data Integration)であるData Factory (Data pipelineやDataflow Gen2)の製品リーダー
  • Josh Coplan
    元々はSSAS*1やPower BIチームでPremium容量を担当されていたが、現在はOneLakeの製品リーダーを務める

Q1: Mirroringでサポートされるデータソース

質問: Mirroring機能は非常に素晴らしいようですが、今後更にどのようなデータソースがサポート予定でしょうか?

回答: 2023年末までにAzure Cosmos DBAzure SQL DBSnowflakeの3つがプライベートプレビュー*2となる予定です。2024年の初期にはMicrosoft(Tier 1)の全てのデータベース(SQL Server 2017以上)、PostgreSQLMySQL等を計画しています。他にもMicrosoft以外のデータベースやデータウェア等からデータをミラーリングできるように持っていく予定です。

強調したい点は、Microsoftが自社のデータソースだけでなく、他のベンダーが持つデータソース(例えばBigQueryなど)にも積極的にアクセス可能なMirroring用のコネクタ*3を提供し、このエコシステムをより早く発展させることを目指していることです。

Q2: SynapseからFabricへマイグレーションするための手順

質問: SynapseのワークロードをFabricへマイグレーションする際、メダリオンアーキテクチャ(Bronze, Silver, Goldレイヤー)をキープする手法。また、Mirroringに際して、レイテンシーやコスト等について教えて欲しい

Warehouseの回答

Synapseの専用SQLプール(Dedicated SQL Pool)の話であれば、既にいくつかはGA(一般提供)している機能があります。例えば、SQLプールをAzure Data StudioSSMSを使ってデータベースへエクスポートする機能(SQL Database Project)を使う方法です。また、いくつかのスクリプトオープンソースとして公開されており、DDL(Data Definition Language)*4のコンバージョンを可能にしています。理由として、専用SQLプールは全てが1対1でマッチしているわけではないため、例えばデータタイプなどが異なる場合があります。最後に、実際のコンバージョンおよびアップグレード作業(コードのアップグレード)を行うためのコードマイグレーションツールを開発しています。

Data Factoryの回答

Data Factoryについて、SynapseではAzure Data FactoryAzure Synapse pipelineのことを意味します。1つのプランとして、Fabric Data FactoryにおけるPipelineアクティビティをAzure Data Factory(ADF)と同等に搭載していく予定(現時点90%の移植率)。2つ目として、コピーアクティビティ(参考: Fabricのコピーアクティビティ)、マッピングデータフローに関わらず、データをOneLakeに書き込むことができることである。第3のポイントとして、来年、FabricワークスペースでPaaS(Platform as a Serviceの略)機能を操作するための新機能、可能性として名称変更されるかもしれませんが、マウンティングが導入される予定です。これにより、これまでの機能が使いやすくなります。最後に、アップグレードすることが決まれば、自分たちのペースでアップグレードができるよう、Microsoftはそれをサポートする機能等を提供していくことを予定しています。

最後に、アップグレードが必要な場合、Microsoftはアップグレードをサポートする機能などを提供し、ユーザーが自分たちのペースでアップグレードできるよう支援する予定です。

データエンジニアリング(Spark)の回答

既に公式DocsよりAzure Synapse SparkからFabricへのマイグレーションに関するドキュメンテーションを見つけることができます。オープンソーススクリプトも開始しているため、SynapseからのSparkジョブ定義等をFabricへインポートして活用することができます。中長期的にはFabricからこれらの作業をシームレスに行えるよう投資を行っていきます。

FabricはOneLakeデータレイク)に基づくアーキテクチャであるため、Shortcutという機能を使用すればADLS Gen2Amazon S3等のクラウドストレージに接続することができます。その先にSQL EndpointやPower BIで可視化することが可能となり、データを動かす必要なく、分析を行うことができるようになります。

Amirによる補足

メダリオンアーキテクチャを使用している人にとって、Shortcutは非常に使いやすいと感じるでしょう。一度接続が完了すれば、直ちに利用できるようになります。SynapseL専用SQLプールを使っている人でメダリオンアーキテクチャを使用していない場合、FabricのWarehouseと専用SQLプールのパフォーマンスを比較してみてください。我々のベンチマークによると、コストパフォーマンスを含む実際の様々なパフォーマンスにおいて、Fabricは秀でています。

Q3: Fabricへの移行に際しての質問

質問: Synapseにマイグレーションしてきたけど、セキュリティ上の問題があるので、Fabricに移るべきかどうか?Azure DatabaricksとFabricのどちらを選べばよいか?

回答: Fabricを使用する際にまだ機能的に不十分と感じる部分がある場合、Synapseを利用するのが良いかもしれません。ただし、Fabricとの連携はShortcutを利用すれば容易に実現できますので、Fabricを使用する選択肢も残されています。従って、どちらを選んでも問題はありません。

DatabricksとFabricの選択に関する質問ですが、機能が重複する部分は確かに存在します。幸いなことに、Databricksとの互換性が高いことが功を奏しています。データ書式の互換性や、OneLakeからDatabricksへのデータの読み書き、逆にDatabricksで生成されたデータをOneLakeで読み取ることも可能です。この連携は今後ますます強化されるでしょう。重要なのは、PaaSアプローチであるDatabricksを選択するか、SaaSアプローチのFabricを選択するかがポイントになるということです。

Q4: Data Factoryの今後

質問: Data Factoryは引き続きスタンドアローンの製品であるか、それともFabricへマイグレーションすることが必須になるのか?

回答: Azure Data Factory(ADF)は、多くの地域をサポートするよう拡大してきました。Igniteでの発表により、ADFにおいてはコピーアクティビティやマッピングデータフローを通じて、OneLakeにデータを書き込むことが可能となります。さらに、今後数ヵ月の間にはADFからFabricのWarehouseへのデータ書き込みも実現される予定です。これに関連して、お客様がADFに投資する際に重要なポイントは、将来的にFabricというSaaS環境へ移行した場合でも、その投資が引き続き価値を持つことが確約されていることです。

Sparkに関しては、常に最新のファイルフォーマットをサポートする計画があります。特に、Delta 3.0では多くの改善が行われており、これらの機能については2024年のいずれかの時点で提供する予定です。

Q5: サポートされるファイル書式について

質問: Delta UniForm(DU)が発表され、多くのファイル書式をサポートすることが決定されましたが、Fabricはこれをどのようにサポートしていく予定ですか?

回答: Fabricの一般的なアプローチは、Microsoftのデータがある場所にアクセスすることです。つまり、DeltaやIcebergなどのさまざまなフォーマットや、どのようなクラウドサービスでも、Fabricを利用できるようにすることを目指しています。最近、MicrosoftOneTableをサポートすることを発表しました。OneTableはオープンソースから生まれたあらゆるテーブルフォーマットをサポートする取り組みであり、Fabricはその中でも重要な役割を果たすことが期待されています。参照: Announcing Onetable (onehouse.ai)

Q6: Fabricの価格について

質問: このご時世ですので、コストについて非常に敏感となっています。Reserved Instance(RI)価格の発表はいつになりますか?

回答: 発表は昨日でした(笑)。資料を参考にして欲しいのですが、RI価格は41%OFFとなっており、FabricのF64 SKUを見ると、ほぼPower BI Premium P1と同程度の金額になっていることが確認できるはずです。

Microsoft Fabric - Pricing | Microsoft Azure

F64は高価ですが、そこから始める必要はありません。より小規模なSKUも利用可能で、手頃な価格から利用を開始できます。

「どのSKUから始めれば良いか?」という難しい質問がありますが、2つのポイントを覚えておくと良いでしょう。まず、データの量やクエリの数、クエリの複雑さ、同時接続数など、多くの質問に回答しない限り、適切な回答を得ることはできません。Fabricにおいて、このような問題を解決する魔法のような公式は存在しません。代わりに、まだ試したことのない方は、まずFabricの無料トライアルをぜひ試してみてください。この試用版は、クレジットカードや電話番号などの情報を入力する必要がなく、簡単に始めることができます。さらに、F64(Power BI PremiumのP1相当)の容量を利用できます。約2か月もの間、試用可能なため、PoC*5としても非常にお得です。

このほか、「サイジングツール*6」とを開発しています。『魔法のような公式』は存在しないことを言及しましたが、それでも一定の基準を知ることが望ましいでしょう。そのため、ベストエフォートで見積もりを行うためのツールとして提供する予定です。ツールの操作には少し慣れが必要ですが、お勧めはPoCプロセスを経験することです。

次へ続く

*1:SQL Servier Analysis Services

*2:新しいサービスや機能を提供する際に、限定された一部のユーザーだけに公開され、事前の申し込み秘密保持契約(NDA)の締結が必要な場合がある、最初のプレビューのことです。プライベートプレビューは、一般には公開されていないため、特別な招待や申請が必要となります。プライベートプレビューの目的は、新しいサービスや機能の品質や安定性を確認し、ユーザーからのフィードバックを受けて改善することにあります

*3:コネクタの提供に関しては、データソースベンダーが主導権を握っており、Microsoft以外のデータソースに対するニーズがある場合、所有権を持つベンダーへの相談が基本となります。ただし、顧客ニーズが高いコネクタの開発については、多くの場合、Microsoftとデータソースベンダーの間で協力して開発が行われる傾向があります。そのため、顧客の需要に応じた重要なコネクタに関しては、双方の協力によって進められることが一般的です

*4:SQLにおけるDDLには、データベースやテーブル、ビューなどの作成を行うCREATE文や、これらを削除するDROP文、これらの設定や構成に変更を加えるALTER文、テーブル中のデータを全削除するTRUNCATE文が含まれる

*5:Proof of Conceptの略。あるアイデアやコンセプトが実際に機能し、実装可能であることを示すための実証実験や概念実証のこと。主に技術的なプロジェクトや新しい製品、システム、サービスなどを開発する際に、PoCが行われます

*6:ITやテクノロジーの文脈において、特定のシステムやアプリケーション、ソリューションに必要な適切なリソースや容量、仕様を見積もったり決定するために使われるソフトウェアアプリケーションまたは手法