sql >> データベース >  >> RDS >> Database

データベースのサブセット化–IRIVoracityでの方法

    データベースが特定のサイズを超えると、開発、テスト、およびトレーニング用にフルサイズのコピーを提供するのに費用がかかり、セキュリティの観点からリスクが高くなります。ほとんどのチームは、より大きなデータベースのより小さなコピーを必要とし、多くの場合、PIIはマスクされています。

    データベースサブセット化とは、実際のテーブル抽出から、より小さな、参照上正しい、より大きなデータベースのコピーを作成するプロセスです。サブセットは、データのマスキングまたはテストデータの合成と一緒に、またはその代わりに使用して、フルセットに関連するコストとリスクを削減できます。意味のあるサブセットを手動で作成するプロセスは、各本番テーブルからのランダムなサンプルを小さなデータベースに入力し、テーブル間の関係構造がサブセット内で正しいことを確認する必要があることを考えると、複雑で面倒です。

    IRIWorkbenchのエンドツーエンドのデータベースサブセット化ジョブウィザードにより、このプロセスがより速く簡単になります。このウィザードは、IRI Voracityデータ管理プラットフォーム、テストデータ生成用のIRI RowGen、およびデータマスキング用のIRIFieldShieldのライセンスユーザーが利用できます。この記事では、ウィザードを紹介し、列マスキングとフィールド保存暗号化のオプションを使用して、参照的に正しいサブセットを作成する方法を示します。

    サブセット作成のウィザードでは、ユーザーがサブセットのソース、サブセットのサイズと並べ替え、サブセットターゲットの名前、およびサブセット化されたデータの暗号化またはマスキングを選択する必要があります。次に、ウィザードは、サブセットテーブルまたはフラットファイルのいずれかを作成する一連のジョブスクリプトを作成します。

    ジョブオプション

    このページでは、出力タイプを定義します。ローダーを空のままにすると、タブ区切り文字が付いたフラットファイルが作成されます。データベースオプションについては、ODBCまたは特定のデータベースローダーのいずれかを選択できます。

    サブセットオプション

    このページでは、サブセットの詳細を指定します。作成されたサブセットを「駆動」する接続プロファイルとテーブルを選択します。ドライビングテーブルは、サブセットを作成するメインテーブルと考えてください。たとえば、売上のテーブルとそれに接続されているすべてのテーブルをサブセット化する場合は、ここで売上情報を含むテーブルを選択します。また、サブセットのサイズを選択します。たとえば、販売数が最も多い100のサブセットを取得するには、(この例のように)販売数量フィールドで並べ替えて、行数に100を入力します。ドライバーテーブルにフィルターを追加することもできます。

    並べ替え

    このページでは、サブセットのソート順を指定します。ただし、行をランダムに選択する場合は、[キーフィールド]リストを空白のままにします。

    並べ替えページには3つの注目すべきセクションがあります:

    1. 入力フィールドリスト
    2. キーフィールドリスト
    3. 主なオプション

    手順:

    1. 並べ替えられたデータのサブセットが必要な場合は、並べ替える列を選択して、[キーを追加]をクリックします。
    2. [キーオプション]ボックスでいくつかのオプションを使用できます:
      • [安定]チェックボックスをオンにすると、レコードを複製して、本番テーブルにある順序でロードします。
      • サブセットに重複がない、または重複のみが必要な場合は、[重複]チェックボックスと適切なラジオボタンを選択します。

    ターゲットの命名

    このページは、出力タイプがデータベースの場合に表示されます。 2つの機能があります。 1つ目は、ドライバーテーブルの関係を表示することを可能にします。 2つ目は、サブセットの出力ターゲットに名前を付けることです。

    ターゲットの名前付けページには、5つの注目すべきセクションがあります。

    1. ターゲットプロファイルとスキーマ
    2. このジョブは同じ名前の既存のテーブルを切り捨てるため、出力モードは常に作成されます
    3. ジョブのSQLオプション
    4. 命名オプション
    5. 参照リスト

    手順:

    1. 接続プロファイルを選択します。
    2. スキーマを選択します。
    3. SQLオプションを指定します。
    4. 名前付けオプションを選択して、サブセットターゲットに名前を付けます。別のプロファイルまたはスキーマが使用されている場合、この手順はオプションです。
      • すべてのプレフィックス すべてのテーブル名にプレフィックスを追加し、それをそのテーブルのターゲットとして設定します。
      • すべての接尾辞 すべてのテーブル名に接尾辞を追加し、それをそのテーブルのターゲットとして設定します。
      • 個別に名前を付ける 各サブセットターゲットに他のターゲットとは独立して名前を付けることができます。
    5. 参照元を確認します および参照 テーブルの関係が正しく検出されたことを確認するためのリスト:
      • Imported by リストには、選択したテーブルがインポートされたすべてのテーブルが一覧表示されます。
      • インポート リストには、選択したテーブルが関係しているすべてのテーブルが一覧表示されます。

    ルール

    このページでは、任意のターゲットにルールを追加できます。この例では、「NAME」という単語で終わるすべてのフィールドにルールマッチャーが追加されています。ルールは、一致するターゲットテーブルに適用されます。このルールは、これら2つのフィールドをアスタリスクでマスクします。外部キーフィールドに関するルールを含めないように注意する必要があります。

    概要

    このページは仕事を要約します。ルールに一致した列と、ソーステーブルに一致するターゲットテーブル(存在しない場合)が明確に表示されます。新しいテーブルに対してDDLが作成されることに注意してください。

    これらのページがすべて完了したら、[完了]を選択できます。次に、ウィザードは、WindowsまたはUnix用のジョブスクリプトと実行可能バッチファイルを作成します。これらのファイルは、Workbenchまたはコマンドラインから起動して、ドライバーテーブルとその関連テーブルからサブセットを抽出できます。

    Voracityのジョブ用に作成された8つのタスクを示すフロー図を次に示します。


    ご不明な点がございましたら、[email protected]までお問い合わせください。


    1. LINQforJavaツール

    2. Golangで*DB.exec()またはプリペアドステートメントを使用するのはなぜですか?

    3. MySQLで列の文字セットと照合を設定する方法

    4. MySQLのBLOB列に入れることができるデータの最大長はどれくらいですか?