今回は、Power AutomateやPower Appsのデータ元となる「Microsoft Dataverse(旧CDS)」について解説します。Power AutomateやPower Appsなどの「Power Platform」との関係性や、MicrosoftサービスにおけるDataverseの立ち位置、Teams版と通常版の比較などを箇所を図や表でまとめました。
正直、Dataverseという存在が何なのか分からなくてもPower AutomateやPower Virtual Agentsは使えます。しかし、
- 「Power Automateのフローを移行するのにベストな方法は何だろう?」
- 「Power Virtual Agentsで作成したボットが消せない・・・どこで消せるんだ!?」
となったときに、一度Dataverseについて理解しておけば毎回「PVA ボット 消し方」と調べたりせず、自分で考えて問題を解決することができるようになります。(ちなみに消し方はこちら)ぜひ、一度目を通していただければ幸いです。
Microsoft Dataverseとは
Microsoft Dataverse(旧名称:Common Data Service)は、クラウド型のデータベースおよびアプリケーションプラットフォームです。「Database(データベース)」ではなく「Dataverse(データバース)」で、宇宙を意味する「Universe」やメタバース「Metaverse」と同じスペルです。
クラウド型データベースは、自社にデータベースを設置せずにクラウド上で利用します(⇔スタンドアロン型)。Microsoft Dataverseは、このクラウド型データベースに加えて、Power Automateなどのアプリが動作する基盤(=アプリケーションプラットフォーム)でもあります。
Power Platformとは
Power Platformとは、以下5つのサービスの総称です。
- Power Apps(アプリ作成ツール)
- Power Automate(自動化ツール)
- Power Virtual Agents(ボット作成ツール)
- Power Pages(Webサイト作成ツール)
- Power BI(データ分析・グラフ化ツール)
これらのサービスは全てノーコードで開発できるため、プログラミング経験のない方でも簡単に利用することができます。
また、これらは相互に組み合わせて使うこともできます。例えば、Power Virtual Agentsでチャットボットを作成する際に、Power Automateを使用してExcelのリストデータからユーザーからの入力値に一致するデータを取得して返すことができます。
Power Virtual Agentsで作成したチャットボットにPower Automateのフローを組み込む方法については、以下の記事をご参照ください。
「聞いたこともない」という人も実は使っている
Power Apps やPower Automateなどを普段使っている人のなかには「Microsoft Dataverseなんて触ったことない」「聞いたこともない」という方もいらっしゃるかと思います。これこそが、Microsoft Dataverseの特徴でもあり、狙いでもあります。
通常、Webページを作る際やアプリを開発する際にはデータベースを自分で用意する必要があります。開発者は、「どのくらいデータ量を確保すべきか?」「どんなデータを登録するか?」など、データベースについて考え(=データベース設計)、SQLを実行してテーブルを作成し、継続的に管理します。
しかし、Microsoft Dataverseはその必要がありません。Power PlatformのサービスでWebアプリやWebサイトなどを作成すると、自動的にMicrosoft Dataverseにデータが保存され、管理されます。
Microsoftのなかでの位置づけ
Microsoftの各サービスはそれぞれが連携しており、TeamsからSharePointのデータを参照したり、Power AutomateからExcelのデータを取得したりと、複数のサービスを掛け合わせることで何通りもの機能を実現できます。
そのなかで、Power Platformは「業務の改善や効率化のためのツール群」、Microsoft Dataverseはデータベースのような役割をしています。データベースの「ような」と記載しましたが、これについては次項にて解説します。
なぜ「データベース」でなく「データバース」なのか
なぜ、データ「バース」なのかというと、Microsoft Dataverseはデータベースとしての機能以外にも様々な機能を持っているからです。
Microsoft Dataverseの特徴1:APIとしての役割
Microsoft Dataverseは、「Microsoft Dataverse Web API」というAPIを公開しています。APIというのは「Application Programming Interface」の略で、2つ以上のアプリを連携するための窓口のようなものです。
例えば、C#からMicrosoft Dataverseのデータを取得したいとします。この場合、C#で作成したアプリケーションをAzure Active Directoryに登録しておき、API使用時にはそれを認証情報としてアクセスしすることでDataverseのデータを参照します。
参考:
Microsoft Dataverseの特徴2:クラウドデータベースとしての役割
Microsoft Dataverseは、クラウド型データベースとしての役割も持ちます。
Dataverseのなかにデータベースがあり、データベースにはテーブルが存在します。テーブルは「標準テーブル」「カスタムテーブル」の2種類です。カラムに制約をかけたり、リレーションシップ設定なども設定できます。
Microsoft Dataverseの特徴3:ALMの実現
Microsoft Dataverseは、ALMを実現します。ALMとは 「Application Lifecycle Management」の略語です。これは、アプリが作成されてから使用されなくなるまで継続的・統合的に管理されることを意味します。
Dataverseでは、ALMを実現するために「ソリューション」という単位でデータを管理しています。「ソリューション」というのは、アプリやフローなどをまとめて管理するフォルダのようなもの(仮想フォルダ)です。
Power Automateでは、フローを移行したり共有したりするのに、「共有」機能や、zipファイルにして保管するという方法もあります。しかし、フローに関する接続情報やテーブルデータまでは組み込めません。一方、ソリューションで管理をすると、アプリに対するセキュリティロールや、テーブルの構造など全てをソリューションの情報として持たせることができます。そのため、別環境に移行する際にはソリューションのインポートのみで可能になります。
例えば、Power Automateでは「ソリューション」というメニューからソリューションのインポート・エクスポートが可能です。
参考:
Dataverse for Teams
Microsoft Dataverseには、Teams上で使用することのできる「Dataverse for Teams」があります。作成できるデータベースの数は、Dataverseだと無制限ですが、Teams版ではチームごとに1つだけとなっています。他にも、容量や機能に関してDataverseの簡易版のような内容となっています。Teams版からはDataverseへのアップグレードが可能です。
Teams版のDataverseは、Power Appsを追加することで使用できます。Power Appsでは必ずアプリを作成する必要があり、そのアプリ内にテーブルを作成する形になります。このテーブルはDataverseのテーブルとは別物で、Teams上で作成したPower Appsのアプリに紐づいています。
DataverseとDataverse for Teamsの比較
Microsoft DataverseとTeams版のDataverseの比較を以下に記載します。
Dataverse | for Teams | |
---|---|---|
環境 | 無制限 | チームごとに1つ |
最大サイズ | 4TBまたはそれ以上 | 100万行または2GB |
ユーザーロール | 詳細に設定可能 | チームの所有者・メンバー・ゲスト (チームに紐づく) |
ライセンス | Microsoft 365だけでは使えない (別途契約が必要) | Microsoft 365が入っていれば無料 |
高度なデータ型 (顧客、通貨など) | 〇 | × |
API アクセス | 〇 | × |
活動ログ | 〇 | × |
項目単位のセキュリティ | 〇 | × |
レコードの共有 | 〇 | × |
役割の割り当て | 〇 | △ (チームの所有者・メンバー・ゲスト に基づいて決まっている) |
Dataverse for TeamsはMicrosoft 365があれば使用できるため、使える環境にあるという方が多いかと思います。設定できる項目や機能はDataverseと比較して乏しいものの、チーム内に環境を作るということで余計な設定などをせずに簡単にデータベースを作成できることがメリットとも言えます。
普段使い慣れているTeams上から使えるということで、簡易的なデータベースを作成してWebアプリやボットを動かしたいという方におすすめです。
高度なセキュリティ機能を利用したい場合や、チーム内で完結しないアプリケーションを構築したい場合、Web APIを利用したい場合などにはDataverseを使う必要があります。DataverseはPower Appsから管理するものなのでPower Appsライセンスを購入する形となります。料金については公式のPower Apps の価格をご参照ください。
参照:
まとめ
今回は、Power Dataverseとは何かについて解説しました。データベースを従来のようにSQL文を書いたり詳細に設計をすることなく、まるでExcelのシートを編集するかのように使うことができ、Power Platformのアプリを使う際には全く意識しなくても裏でいいかんじにデータを作成・管理してくれるものだということが分かりました。
ふだんPower AutomateやPower Virtual Agentsなどを使う際には、テーブルの作成・編集等はPower Appsから行うので、尚更「Dataverse」という単語を聞く機会は無いと思います。それでも、Dataverseについて理解しているのといないのとでは、Microsoftのサービスを使用する上で何か課題が出たときの対処に差が出ます。
他にもPower Platformに関連の記事を投稿していますので、ぜひ一読いただければと思います。
コメント