よく同じMicrosoftのデータストアとしてMicrosoft Dataverse と Azure SQL DB(SQL Server)の2つの使い分けが聞かれますが、どちらにも長所と短所があり、さまざまな目的で使用されます。
この記事では、2つを比較し、それぞれの機能、長所、短所を述べます。
どちらがニーズに最も適しているかを判断するのに役立ててください。
Dataverseとは?
Dataverseは従来のデータベースを進化させたもので、ローコードで本格的にデータベースの作成からモデリングがすぐに可能です。RDB(リレーショナルデータベース)をベースとしながら、非構造化データも統合管理できます。
ローコード開発ツールであるPower Platform共通のデータベースサービスです。
裏側にAzure SQL DBやAzure Cosmos DB、Azure Blob Storageを使用しています。
Azure SQL DB(SQL Server)とは?
Azure SQL DBとSQL Serverはどちらも、RDBMS(リレーショナルデータベース管理システム)です。
データベース操作言語のSQLを使用して、操作を行います。
(Azure SQL DBとSQL Serverの違いは主にクラウド型であるかオンプレミスであるかです。)
Dataverse と Azure SQL DB(SQL Server)の違いは?
Dataverse と Azure SQL DBの違いについて、以下の画像にまとめました。
まず使用する対象者が異なることが大きいです。Dataverseはプロの開発者ではない、市民開発者が使用できるようにローコード開発基盤となっています。...①
では、機能の面ではどのように違うのか、気になると思います。
結論、Dataverseの裏側もAzure SQL DBであるため、開発視点での使えない機能はほとんどないといえると思います。
JOINや複雑なクエリも、APIからFetch XML書けば基本は実行できますし、ストアドプロシージャのような関数的な処理もプラグインで実行可能です。
ただ、Dataverseでは、ローコードにするため、直接SQLのクエリを書くのはアプリやAPIからはできず、Fetch XMLやODataクエリ、Power Fxなどで操作できるようになっていて、意図的に隠されています。(APIで操作するときはJSON)...②
この点が利点となるか、欠点となるかはユースケースによります。ここをうまく使い分けてビジネスに取り込むことで、より効果的にアプリ構築やデータ活用が行えるようになるはずです。
(Power BIや、SQL Server Management StudioからはSQLを呼べる)
代用となるものがないクエリも一部ありますが、いずれにしても、APIでは代用可能なので、ここでは実質Dataverseで実装可能としています。
それ以外だと、インフラやインデックス、バックアップなど、アプリレイヤーではないところの自由度が異なります。...③
アプリレイヤーではない、システム的なところ(インデックスどう張るか、バックアップの粒度、サーバーのスケーラビリティ、単体のマシンスペックなど)をサービスとして自動的にやってくれる変わりに、自由度としては下がってしまいます。
例)
クラウド上にバックアップを取るため、ダンプ(データベースまるごと手元のサーバーにバックアップ)を取りたいときの方法はなく、この点で自由度はありません。
細かくここをカスタマイズしたい場合はDataverseを使わない方が良いです。
また、SaaSとしての様々な機能がついているため、Azure SQL DB(SQL Server)よりもコストの面で高くなります。...④
また扱うデータの種類は、以下のように「どちらかというと得意」なものがあります。...⑤
- ビジネスでより安全でスケーラブルなデータストレージと他の Microsoft サービスとの統合が必要な場合は、Dataverse の方がどちらかというと適している
- ビジネスで大量のデータやクエリを管理する必要がある場合(マスタデータなど)は、Azure SQL DB(SQL Server)の方がどちらかというと適している
Azure SQL DB(SQL Server)と比較したDataverseの特徴
まとめると以下のような違いがあります。
①使用対象者が市民開発者
②SQLのクエリがローコードで扱えるようになっている
③アプリレイヤーではない、システム的なところが自動化されている
④コストの面で高くなる
⑤どちらかというと得意なデータの種類が異なる
まとめ
Dataverse と Azure SQL DB(SQL Server)はどちらもデータを管理するための強力なツールですが、要件と目的によっては、一方が他方よりもニーズに適している場合もあります。
最終的には、どのツールがニーズに最も適しているかを考え、使い分けをしてみてください。
参考