View a markdown version of this page

シーケンスと ID 列の使用 - Amazon Aurora DSQL

シーケンスと ID 列の使用

このセクションでは、ワークロードパターンに基づいてシーケンスと ID 列を使用する最適な方法を理解するのに役立ちます。

重要

割り当てとキャッシュの動作の詳細については、「CREATE SEQUENCE」ページの重要なコールアウトを参照してください。

識別子タイプの選択

Amazon Aurora DSQL は、UUID ベースの識別子と、シーケンスまたは ID 列を使用して生成された整数値の両方をサポートします。これらのオプションは、値の割り当て方法と負荷時のスケーリング方法が異なります。

UUID 値は調整なしで生成でき、識別子が頻繁に作成されるか、多数のセッションにまたがって作成されるワークロードに適しています。Amazon Aurora DSQL は分散オペレーション用に設計されているため、調整を避けることは多くの場合有益です。このため、特にスケーラビリティが重要で、識別子の厳密な順序付けを必要としないワークロードのプライマリキーの場合、UUID がデフォルトの識別子タイプとしてに推奨されます。

シーケンスと ID 列は、人間が読み取れる識別子、レポート、外部インターフェイスに便利なコンパクトな整数値を生成します。ユーザビリティまたは統合の理由で数値識別子が優先される場合は、UUID ベースの識別子と組み合わせてシーケンスまたは ID 列を使用することを検討してください。整数シーケンスまたは ID 値が必要な場合は、適切なキャッシュサイズを選択することがワークロード設計の重要な部分になります。キャッシュサイズの選択に関するガイダンスについては、次のセクションを参照してください。

キャッシュサイズの選択

適切なキャッシュ値を選択することは、シーケンスと ID 列を効果的に使用する上で重要な部分です。キャッシュ設定は、負荷がかかった状態での識別子の割り当ての動作を決定し、システムスループットと値が割り当て順序をどの程度反映するかに影響を与えます。

CACHE >= 65536 の大きなキャッシュサイズは、次の場合に適しています。

  • 識別子が高頻度で生成される

  • 多くのセッションが同時に挿入される

  • ワークロードがギャップや目に見える順序付け効果を許容できる

例えば、大量のイベント取り込みワークロード (IoT やテレメトリなど) や、ジョブ実行 ID、サポートケースの参照、内部注文番号などの運用識別子は、通常、識別子が頻繁に生成され、厳密な順序付けを必要としないため、キャッシュサイズを大きくするとメリットがあります。

次のような場合、キャッシュサイズ 1 の方が適しています。

  • 配分レートが比較的低い

  • 識別子が時間の経過とともに割り当て順序により厳密に従うことが予想される

  • ギャップを最小限に抑えることがスループットの最大化よりも重要

アカウント番号や参照番号の割り当てなど、識別子の生成頻度が低く、順序を近づけるほうが望ましいワークロードでは、キャッシュサイズを 1 にするとより適切になります。