コンテンツにスキップ

プロジェクトのアーカイブ

プロジェクトには通常、重要なプロセスやロジックが含まれているため、アーカイブしておくことが大切です。プロジェクトを特定の状態に復元する必要が生じた場合に備えて、アーカイブは欠かせません。

PlaidCloudでは、任意の時点でプロジェクトをアーカイブできます。アーカイブの作成は、PlaidCloudに組み込まれている時点追跡機能を補完し、特定の時点の状態を確実に残せるようにします。大きな変更の前や、本番環境の正確な状態を記録として残したい場合に特に役立ちます。

フルバックアップ:プロジェクトに含まれるすべてのデータテーブルが対象です。プロジェクト内のデータ量によっては、アーカイブがかなり大きくなる場合があります。

部分バックアップ: プロジェクトのデータをすべて他のソースから再構築できる場合に使用できます。その場合は、プロジェクト内のデータをアーカイブして別の場所にも残しておく必要はありません。部分アーカイブにすると、アーカイブの作成にかかる時間とストレージ容量を節約できます。

プロジェクトをアーカイブするには、次の手順に従います。

  1. Analyzeを開きます
  2. 「プロジェクト」タブを選択します
  3. プロジェクトを選択し、アクションメニューからプロジェクトアーカイブのエクスポートを選択します(またはプロジェクトを右クリックしてプロジェクトアーカイブのエクスポートを選択します)

ウィンドウのタイトルバーにはアーカイブ対象のプロジェクト名が表示されるため、開始前に正しいプロジェクトかどうかを確認できます。

PlaidCloudがリクエストを受け付けるとすぐにエクスポートウィンドウが閉じ、その後は進行状況ウィンドウがアーカイブの状況を表示します。この進行状況ウィンドウを開いたままにして状況を見守ることも、バックグラウンドに送って作業を続けることもできます。どちらの場合もアーカイブはプラットフォーム上で実行され、進行状況ウィンドウを閉じても停止しません。

アーカイブがどのように終了したかは通知で知らされます。アーカイブが書き込まれたこと、データなしで含まれたテーブル、失敗した場合はその理由が通知されます。通知を受け取るためにウィンドウを開いたままにしておく必要はありません。

データを含められないテーブル

Section titled “データを含められないテーブル”

プロジェクトに一覧表示されているテーブルの背後にデータが存在しなくなっていることがまれにあります。たとえば、一度もビルドされなかったテーブルや、プロジェクトの外でデータが削除されたテーブルです。この場合もアーカイブは書き込まれます。それらのテーブルはテーブルデータから除外され、エクスポートの終了時にそれらを示すメッセージが表示されます。プロジェクトの構成、ワークフロー、テーブル定義、その他すべてのテーブルのデータなど、それ以外はすべて通常どおりアーカイブされます。

アーカイブには、データなしで含まれたテーブルが記録されます。復元時にも、それらを完全なものとして扱うのではなく、復元の最後にもう一度それらのテーブルが示されます。定義がまだ読み取れたテーブルは、列のみが復元され、行は含まれません。定義も失われていたテーブルは、テーブルの実体がないエントリとして復元されます。テーブルにデータを入れ直すには、そのテーブルをビルドするワークフローを再実行してください。

プロジェクトのテーブルを読み取れない場合

Section titled “プロジェクトのテーブルを読み取れない場合”

プロジェクトのテーブルの読み取りは、プロジェクト自体の読み取りとは別の権限であり、アーカイブには両方が必要です。プロジェクトを開けても、テーブルの読み取りアクセス権がない場合、アーカイブは書き込まれますが、テーブルデータもテーブル定義も含まれません。どちらも同じ権限の下にあるためです。エクスポートの終了時に、除外されたテーブルを示すメッセージが表示されますが、名前は読み取れなかった定義から取得されるため、名前ではなく内部IDで識別されます。

この方法で作成されたアーカイブは、プロジェクトの構成(読み取りの権限がある範囲で、ワークフロー、変数、ディメンション、ビュー、レイアウト)のコピーであり、データのコピーではありません。復元してもテーブルはまったく作成されないため、プロジェクトのデータを再構築できるバックアップではありません。このようなアーカイブに頼る前に、エクスポートのメッセージを確認してください。

上記のテーブルの場合とは異なり、これはワークフローを再実行しても解決しません。そもそもデータが読み取られていないためです。ワークスペース管理者にプロジェクトのテーブルへの読み取りアクセス権を付与するよう依頼し、あらためてアーカイブを作成してください。

プロジェクトが行アクセスを使用している場合

Section titled “プロジェクトが行アクセスを使用している場合”

アーカイブの作成ではプロジェクトのテーブルを読み取るため、他の読み取りと同様に行アクセスが適用されます。制御対象の各列について、アーカイブにはあなたのグループに付与された行が含まれます。列に対する付与がない場合の動作は、その列の宣言方法によって異なります。デフォルトで拒否するように設定された列では行がまったく取得されず、デフォルトですべて許可するように宣言された列ではフィルターが適用されません。制御対象の列を1つも持たないテーブルはそのまま全体がアーカイブされ、プロジェクトのアーキテクトはどの付与設定にかかわらずすべての行をアーカイブします。スケジュールアーカイブはあなたではなくプロジェクト自身のIDで実行されるため、すべての行がアーカイブされます。

付与の一部しか持たないメンバーが作成したアーカイブは、プロジェクトのデータの部分的なコピーです。デフォルトで拒否する列がある場合、テーブルが単に絞り込まれるだけでなく、空のまま復元されることもあります。そのようなアーカイブを復元すると、それらの行が欠けた状態でプロジェクトが再構築されますが、復元時にはその旨は通知されません。アーカイブの側から見れば、それらの行は最初から存在しなかったためです。

エクスポートが失敗した場合は、その失敗が報告されるようになりました。以前は、アーカイブが書き込まれていないのに完了と報告されることがあり、欠落したファイルに気づくのは、多くの場合それを復元しようとしたときでした。現在は失敗したエクスポートはその旨が通知されるため、報告された成功は本当の成功として扱い、エラーが報告された場合はメッセージを確認してください。これはプロジェクトアーカイブだけでなく、他の種類のエクスポートにも当てはまります。

アーカイブがあれば、それを復元したい場合があります。アーカイブは、新しいプロジェクトにも既存のプロジェクトにも復元できます。

アーカイブを復元するには、次の手順に従います。

  1. Analyzeを開きます
  2. 「プロジェクト」タブを選択します
  3. アクションメニュー(またはツールバー)からプロジェクトアーカイブをインポートを選択し、復元するアーカイブを選択します
  4. 新しいプロジェクトを作成するか既存のプロジェクトにインポートするかを選択し、選択ツリーから取り込む内容を選びます
  5. プロジェクトのインポートをクリックします

インポートはバックグラウンドで実行されます。進行状況ウィンドウに進み具合が表示され、完了するとメッセージで通知されます。除外された項目がある場合はメールも送信されます。選択したプロジェクトがロックされているなどの理由でインポートを開始できない場合、ウィンドウは開いたままになり、その理由が表示されます。

アーカイブは開く際にチェックされます。アーカイブ自身のフォルダーの外に配置されるファイル、外部を指すリンク、プレーンなデータ以外を作成しようとする設定など、プロジェクトアーカイブには含まれないはずの内容が含まれている場合、そこから何かが復元される前に拒否されます。

アーカイブ全体を取り込む必要はありません。選択ツリーには、アーカイブに含まれる内容がワークフロー、ステップ、テーブル、ディメンション、データエディター、ユーザー定義関数といった種類別に一覧表示され、チェックを入れた項目はその依存関係も一緒に取り込まれます。

アーカイブの一部がインポートされない場合

Section titled “アーカイブの一部がインポートされない場合”

アーカイブの一部を復元できない場合でも、インポートは継続されます。アーカイブを読み取ることができ、プロジェクト自体をセットアップできる限り、プロジェクトはインポートされ、復元できなかった項目はインポート結果に一覧表示されます。アーカイブを読み取れない場合やプロジェクト自体をセットアップできない場合は、インポートは失敗してその理由が通知され、新しいプロジェクトは削除されます。既存のプロジェクトへのインポートも、完了前に停止することがあります。その時点までに復元された内容はプロジェクトに残ります。メッセージとメールにはインポートが停止したことが示され、インポート結果にはその時期と理由、それまでに復元できなかった項目が一覧表示されます。

除外された項目がある場合、インポート終了時のメッセージとメールでその旨が通知され、メッセージにはインポート結果ウィンドウへのリンクが含まれます。このウィンドウには、各項目が種類と名前で示され、その理由が記載されます。項目は次の見出しにグループ化されます。

  • インポートされなかった項目 — その項目はプロジェクトに存在しません。
  • データなしで作成された項目 — テーブル、ビュー、ディメンションはプロジェクトに存在しますが、データを読み取れなかった、または読み込めなかったため、データを保持していません。
  • 警告 — 項目はインポートされましたが、確認が必要な点があります。たとえば、ウェアハウスがテーブルの列タイプに変換した列などです。
  • このプロジェクトの値が維持された変数 — プロジェクトに同じ名前の変数がすでにあったため、その変数は元の値を保持しています。

最も重大な項目が先頭に表示され、一覧表示しきれない項目がある場合はウィンドウにその旨が表示されます。後でこのウィンドウをもう一度開くには、プロジェクトタブでプロジェクトを選択し、アクションメニューからインポートまたはコピーの結果を表示を選択するか、プロジェクトを右クリックします。

結果は、誰かが破棄するか、同じプロジェクトへの後続のインポートで置き換えられるまで、プロジェクトに残ります。結果を破棄をクリックすると、そのプロジェクトを開けるすべてのユーザーから結果が削除されます。プロジェクトの内容は変更されません。破棄するにはプロジェクトの編集アクセス権が必要で、プロジェクトがロックされていない必要があります。

既存のプロジェクトへのインポート

Section titled “既存のプロジェクトへのインポート”

すでに存在するプロジェクトへのインポートは、置き換えではなく追加になります。アーカイブとプロジェクトの両方に同じ項目がある場合の動作は、2つの要素で決まります。

対象プロジェクトを変更できる必要があります。 ロールを持っていないプロジェクトへのインポートや、変更を防ぐためにロックされているプロジェクトへのインポートは拒否されます。このチェックは何かを読み取ったり書き込んだりする前に行われるため、拒否されたインポートでプロジェクトが変更されることはありません。

プロジェクトは自身の設定を維持します。 名前、識別子、データ接続環境、ストレージのデフォルト、ドキュメントアカウント、アクセスタイプ、アクセスリスト、行アクセスの付与は、すべてそのまま残ります。取り込まれるのは、選択した内容だけです。

プロジェクトのデフォルトに設定されているステップは、アカウントではなくその設定が引き継がれます。復元後は、アーカイブ時のデフォルトではなく、そのプロジェクトが持つデフォルトに解決されます。

取り込む項目がプロジェクト内にすでにある項目と同じ場合は、その扱いを選択します。

  • 重複する項目を受信データで上書き — アーカイブ内のバージョンがプロジェクト内のバージョンを置き換えます。
  • 重複する項目の新しいコピーを作成 — プロジェクトは現在の内容を維持し、取り込む項目は名前に copy が付加された状態で並べて追加されます(その名前も使用済みの場合は連番が付きます)。これは、ワークフロー、ステップ、テーブル、ディメンション、データエディター、ビュー、ユーザー定義関数に適用されます。

プロジェクト変数とワークフロー変数は例外です。 変数は名前で識別されるため、どこからも参照されない名前に変更しない限り、2つ目のコピーを追加することはできません。アーカイブにも含まれる変数がプロジェクトにすでに定義されている場合は、プロジェクト自身の値が維持され、インポート結果には手を加えなかった変数が一覧表示されます。アーカイブの値を使用したい場合は、後からその変数に設定してください。

注意点として、この照合は名前ではなくIDによって行われます。同じ元のプロジェクトに由来する項目(アーカイブのエクスポート元の項目やそのコピー)は、同じ項目として認識されます。たまたま名前が同じだけの2つの項目は別の項目として扱われ、インポート後は両方が存在することになります。

テーブルがデータなしで復元された場合

Section titled “テーブルがデータなしで復元された場合”

テーブルのデータの復元は、その列が取り込み先のテーブルと一致していること(読み込みは列の順序で行われるため、名前も順序も同じであること)が前提です。一致しない場合、そのテーブルのデータは除外され、そのテーブルは、アーカイブにデータが含まれていなかったテーブルと同様に、インポート結果のデータなしで作成された項目に一覧表示されます。列の保存タイプだけが異なる場合は、データは除外されません。データは読み込まれ、そのテーブルはウェアハウスが変換した列とともに警告に一覧表示されます。

すべてのテーブルのデータの読み込みに失敗したインポートでも、プロジェクトは維持されます。終了時のメッセージとインポート結果には、テーブルデータをまったく読み込めなかったことが示されます。すべてのワークフロー、テーブル、ディメンションが揃った状態でインポートが終了した場合でも、行も一緒に取り込まれたと考える前に、終了時のメッセージを確認してください。

アーカイブは、プロジェクトの定期バックアップとしても利用できます。PlaidCloudでは、バックアップのスケジュールを管理し、バックアップアーカイブの保持期間を、都合のよい期間や希望する期間に設定できます。

プロジェクトに対するすべての変更は自動的に追跡されるため、ロールバックのためにアーカイブする必要はありません。ただし、アーカイブはプロジェクトの状態の特定のスナップショットを提供するため、統制の目的や、既知の時点に復旧できるようにする目的でしばしば役立ちます。

アーカイブのスケジュールを設定するには、次の手順に従います。

  1. Analyzeを開きます
  2. 「プロジェクト」タブを選択します
  3. バックアップアイコンをクリックします
  4. ドキュメントアカウント内のディレクトリを保存先として選択します
  5. バックアップの頻度と保持期間を選択します
  6. バックアップする項目を選択します
  7. 「更新」をクリックします