Power Platform Dataverseの容量について

こんにちは。
今回は、Power Platformサービスでデータを扱う際に気になるDataverseの容量についてまとめました！

# Dataverseの容量種類
データの種類によって、保存するDataverseの種類が異なります。
Dataverseの容量には3種類あります。
- データベース容量用
- ファイル容量用
- ログ容量用

それぞれの用途は以下のようにまとめられます。
|種類 |用途  |
|---|---|
|データベース  |テーブルの定義とデータの格納・管理用 |
|ファイル  |Power AppsやDynamics 365 Sales/Customer Service/Field Serviceのメモやメールの添付ファイルを保存。ドキュメント、画像ファイル、動画、PDF ファイルなど |
|ログ  |テーブルおよび列データの変化を経時的に記録して、分析やレポートの目的で使用|

::: note
最近、Dataverseの容量はどの容量も無制限となりました！
（以前はデータベース容量は4TBという制限がありました。）
:::

# 環境自体の消費容量
環境の種類によっては作成することで容量を消費するものもあります。

|環境の種類  |消費容量(GB)  |
|---|---|
|実稼働 |1  |
|サンドボックス |1  |
|試用版(サブスクリプションベース) |1  |
|Microsoft Dataverse for Teams |0  |
|試用版 |0  |
|プレビュー |0  |
|サポート |0  |
|開発者 |0  |


# 容量管理について
実際に容量を管理して、容量不足の判定はどうしたらいいのか、その時どうしたらいいか、というところについてご説明します。

## 容量のチェック方法
自身のテナントの容量をチェックしたい場合は、以下の手順で確認することができます。

1. PowerPlatform管理センター(https://aka.ms/ppac )を開きます。
2. 左のサイトマップで[リソース]を展開し、[容量]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/890b1c5c-9412-5032-a879-72f585f40265.png)

見方の詳細については以下をご参照ください。

https://learn.microsoft.com/ja-jp/power-platform/admin/capacity-storage#capacity-page-details

::: note
こちらには環境が使う1GBも加算される為、何も作っていない状態でも1GBは消費されているように表示されます。
:::

私の環境、容量超過してますね…。私と同じように超過してしまっている場合は、以下のいずれかの対処をしてください。

## 容量超過時の対応
- [ストレージの解放](https://learn.microsoft.com/ja-jp/power-platform/admin/free-storage-space)
- [不要な環境を削除](https://learn.microsoft.com/ja-jp/power-platform/admin/delete-environment)
- 容量をさらに購入
[ライセンスガイド](https://go.microsoft.com/fwlink/p/?linkid=2085130)の「Power Platformキャパシティアドオン」セクションをご参照ください。追加購入は3種類の容量別に1GBずつ可能です。
Power Platformライセンスに含まれる容量についても記事ありますので、以下をご参照ください。

https://qiita.com/skuramoto/items/e77076d5d0ec5e562026

::: note warn
組織のテナント レベルでストレージを超える場合は、環境の作成、コピー、復元や回復などの特定の操作ができなくなります。
:::

## 容量不足判定
また、３種類の容量について、基本はそれぞれが容量を超えた場合、対応していただく必要があります。ただ、**例外**があり、**ログ容量のみデータベース容量（余っていれば）を共有できます**。

以下、具体的な例でイメージをつけていただければと思います🙂
### 容量不足となるパターン
[容量超過時の対応](https://qiita.com/skuramoto/private/844bd3e75cba8e0a37d5#%E5%AE%B9%E9%87%8F%E8%B6%85%E9%81%8E%E6%99%82%E3%81%AE%E5%AF%BE%E5%BF%9C)を行う必要があります。

#### 例１
以下の例は、データベース使用量が 10 GB 超えています。 
|容量種類 |使用可能容量  |使用済み容量  |残り容量(使用権利 - 使用済み)|
|---|---|---|---|
|データベース  |100GB| 110GB |-10GB|
|ファイル  |400GB| 200GB |200GB|
|ログ  |10GB| 5GB |5GB|

200 GB の余分なファイル ストレージがありますが、テナントの容量は不足していると見なされます。 

#### 例2
以下の例は、ログの使用量が 10 GB 超えていて、データベース容量で 5 GB しか使用できません。 
|容量種類 |使用可能容量  |使用済み容量  |残り容量(使用権利 - 使用済み)|
|---|---|---|---|
|データベース  |100GB| 95GB |5GB|
|ファイル  |400GB| 200GB |200GB|
|ログ  |10GB| 20GB |-10GB|

このテナントの容量は不足してます。

#### 例3
以下の例は、ファイルの使用量が 90 GB 超えています。 
|容量種類 |使用可能容量  |使用済み容量  |残り容量(使用権利 - 使用済み)|
|---|---|---|---|
|データベース  |100GB| 20GB |80GB|
|ファイル  |200GB| 290GB |-90GB|
|ログ  |10GB| 5GB |5GB|

ストレージ容量が 85 GB 利用可能 (データベース 80 GB + ログ 5 GB)ですが、テナントの容量は不足していると見なされます。 

### 【例外】一部超過していても容量不足とならないパターン
以下の例は、ログの使用量が 10 GB 超えていますが、データベース容量で 20 GB 余っています。 
|容量種類 |使用可能容量  |使用済み容量  |残り容量(使用権利 - 使用済み)|
|---|---|---|---|
|データベース  |100GB| 80GB |20GB|
|ファイル  |400GB| 200GB |200GB|
|ログ  |10GB| 20GB |-10GB|

こちらの例では、テナントの容量は**不足ではありません**。 

※ ファイル容量は、ログまたはデータベース容量の不足を補うために使用できないことに注意してください。

## 容量超過前の対応
### 標準の管理機能
標準の機能として、Dataverse 容量がひっ迫した際には、以下のタイミングで通知メールが送信されます。
通知された段階で何か対応いただくと、安心です😊
- Dataverse 空き容量が全体の 15 % 未満となった場合
- Dataverse 空き容量が全体の 5 % 未満となった場合
- Dataverse 容量が上限を超過した場合

https://learn.microsoft.com/ja-jp/power-platform/admin/capacity-storage#changes-for-exceeding-storage-capacity-entitlements

### CoE Starter Kitでの管理
[CoE Starter kit](https://learn.microsoft.com/ja-jp/power-platform/guidance/coe/starter-kit)で容量の監視も可能です。

以下の機能を使用すると、ストレージ種類ごとの通知設定を行い監視することが出来ます。
https://learn.microsoft.com/ja-jp/power-platform/guidance/coe/capacity-alerting

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/59991b33-234f-35aa-06e0-d32da83f0aa7.png)

容量に関して厳しく管理していきたい場合はこちらのCoE Starter Kitも組み合わせるのがおすすめです！

CoE Starter Kitのこちらの容量管理はPower Automateのフローで行っておりますので、こういった仕組みを自作することもできます。
少しフローの中身ご紹介します😊

以下の画像のように、[Power Platform管理者コネクタ](https://learn.microsoft.com/ja-jp/connectors/powerplatformforadmins/)の環境情報を取得するアクションを使用し、「プロパティを展開する」項目でcapacity情報を取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/9b754752-dfc2-def6-0e2b-f89e2f47d3ac.png)

このCapacity情報には容量の種類や使用可能容量、実際に使用している容量などが含まれているので、それらの情報をテーブルに保存すると、管理を自動化させることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/5407481f-c56f-5d77-a327-ce6980aa7abd.png)

このように、Power Platform管理者アクションを使用した管理自動化はいろいろできるかと思いますので、ぜひご参照ください。



# 既定環境について
既定環境は少し特殊ですので、個別にご説明いたします。

既定環境には、**7 GB**まで無料で附帯されます。
既定環境の容量の内訳は以下を参照ください。
|種類 |無料の最大容量  |
|---|---|
|データベース  |3GB|
|ファイル  |3GB |
|ログ  |1GB|

容量を超過した場合、追加購入（キャパシティアドオン）が必要です。
既定環境は**最大1TB** まで容量を増やすことが可能です。

この時、実は、無償（Office 365付帯版）ライセンスに直接キャパシティアドオンを購入するより、有償ライセンスを1つ購入していただく方が、既定で10GB or 5GB付与される分お得になります。
（キャパシティアドオンのみの場合、既定容量は付与されません。）

::: note warn
容量超過した場合、管理者にアラートが上がり、環境のコピーや作成ができなくなります。
(既に作成されたアプリやフローの使用が制限されるわけではない)
:::

https://learn.microsoft.com/ja-jp/power-platform/admin/environments-overview#the-default-environment


# まとめ
今回は容量に関する基本的な考え方や、管理方法についてまとめました。

このまま実際のPower AppsやPower Automate、Power Virtual Agents、Power Pagesライセンスに付与されるDataverse容量について知りたい方は、以下の記事を読み進めてみてください。

https://qiita.com/skuramoto/items/e77076d5d0ec5e562026