問題タブ [surrogate-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1474 参照

varnish - Varnish Hashtwo/Xkey と Fastly の「代理キー」は同じですか?

現在、独自の Varnish サーバーを管理するか、Fastly のようなホスティング サービスを使用するかを決定しています。ここで最も重要な決定要因の 1 つは、効率的なタグベースのキャッシュの無効化です。これは、Varnish を API の前に配置する予定であり、多くの関連ページを無効にするパージ リクエストを頻繁に発行する必要があるためです。

Fastly はSurrogate Keysを提供しており、Varnishは Hashtwo、Hashninja、XKey など、さまざまな名前で呼ばれる個別のモジュールを提供しているようです。これらの機能は同じように見えます。それらは実際には同じですか、それとも 2 つの機能についてのブログ投稿からは明らかではない重要な技術的または効率的な違いがありますか?

0 投票する
3 に答える
3228 参照

data-warehouse - ディメンション代理キーの作成

データ ウェアハウス ディメンションで代理キーを使用する正当な理由があることは理解しています。それでも、それらをファクト テーブルの外部キーにリンクする方法がわかりません。ファクト テーブルには、ETL 中に抽出された自然キーのみがあります。代理キーは、元のデータベース テーブルには存在しません。これに関する提案はありますか?ありがとうございました

0 投票する
3 に答える
1753 参照

sql - ルックアップ テーブル -- 主キーとしての自然キーまたは代理キー?

ライセンスの使用状況を記録するテーブルがあります。各ライセンスの使用状況は、ユーザーとホスト マシンに関連付ける必要があります。テーブル定義は次のようになります。

このテーブルを正規化して、反復的なユーザー/ホストの値がこのような新しいテーブルに移動されるようにします。

user_hostテーブルの場合、自然または代理のどの種類の主キーを選択する必要がありますか? 以下の支配要因が考えられます。

  1. 主キーが自然な場合、つまりユーザー名とホスト名の合成である場合、親テーブルper_user_factは、ユーザー名とホスト名を見つけるために追加の結合を必要としません。
  2. 主キーが自然な場合、ユーザー名とホスト名の値が両方のテーブルで重複するため、ストレージが無駄になります。
  3. 主キーがサロゲートの場合、親テーブルがユーザー名とホスト名の値を取得するには、追加の結合が必要になります。
  4. 主キーがサロゲートの場合、user_host テーブルのインデックス作成は高速になります。

お知らせ下さい。

0 投票する
2 に答える
120 参照

apache-pig - 豚でカスタム代理キーを作成する

Pig でカスタム代理キーを作成する方法はありますか?

例:以下のようなデータがあります

このデータについては、以下のように代理キーを作成する必要があり、結果は以下のようになります。

ランダムな一意のキーを作成する代わりに?

前もって感謝します!!。

0 投票する
1 に答える
343 参照

data-warehouse - なぜ代理キーが必要なのですか?

私は DW モデリングについて読んでいて、なぜ代理キーが使用されるのか疑問に思い始めました。

ビジネス キーが整数でない場合があることを理解しています。しかし、私が理解していないのは、一意の識別子を管理するための追加の列を追加して、DW または RDBMS のちょっとした制限を解決する理由は何ですか?

この種の機能が DW/RDBMS ユーザーに対して透過的であり、エントリがシステムから内部識別子を自動的に取得する方が適切ではないでしょうか? たとえば、行全体またはそのサブセット (ある種のテキスト形式で表すことができるフィールド) の SHA-1 ダイジェストを作成します。

0 投票する
1 に答える
572 参照

sql - DB2 の外部キーに関して列を自動インクリメントする方法はありますか?

製造会社のさまざまな施設の住所を含む住所テーブルがあるとします。外部キーにより、住所が属する会社を知ることができますが、各施設を区別するために代理 ID が必要です。この ID は、外部キーの値に基づいて自動的に増加します。注:キーには単純な整数値が必要です。

例えば:

私のテーブルには次の列があり、ORGANIZATION_ID は外部キーです。FACILITY_ID は、外部キーに依存する 2 番目の代理キーです。

組織IDに応じて施設IDを1から自動で増やしたい。すなわち

新しい組織のデータを挿入するとき、施設は 1 から開始する必要があります

次に同じ組織のデータを挿入すると、それに応じて施設 ID が増加するはずです。

DB2でこれを実現する方法はありますか? 現在、DB2 V 10.5.6 を使用しています