LoginSignup
16
15

よく同じMicrosoftのデータストアとしてMicrosoft Dataverse と Azure SQL DB(SQL Server)の2つの使い分けが聞かれますが、どちらにも長所と短所があり、さまざまな目的で使用されます。

この記事では、2つを比較し、それぞれの機能、長所、短所を述べます。
どちらがニーズに最も適しているかを判断するのに役立ててください。

Dataverseとは?

Dataverseは従来のデータベースを進化させたもので、ローコードで本格的にデータベースの作成からモデリングがすぐに可能です。RDB(リレーショナルデータベース)をベースとしながら、非構造化データも統合管理できます。
ローコード開発ツールであるPower Platform共通のデータベースサービスです。
裏側にAzure SQL DBやAzure Cosmos DB、Azure Blob Storageを使用しています。
image.png

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はプロの開発者ではない、市民開発者が使用できるようにローコード開発基盤となっています。...①

image.png

では、機能の面ではどのように違うのか、気になると思います。
結論、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)はどちらもデータを管理するための強力なツールですが、要件と目的によっては、一方が他方よりもニーズに適している場合もあります。
最終的には、どのツールがニーズに最も適しているかを考え、使い分けをしてみてください。

参考

16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15