水使用量を測定するIoTデバイス用のテーブルが作成されます。このテーブルはすぐに大きくなり、20億行を超えるデータ量になります。

このテーブルに対する一般的なクエリパターンは以下のとおりです。
1. DeviceId、lOT_timestamp、および Customerld は、select ステートメントのフィルタ述語で頻繁に使用されます。
2. City 列と DeviceManufacturer 列はよく取得されます
3. Uniqueld にはよくカウントがあります
クラスタリングキーにはどのフィールドを使用すべきですか?
正解:C
クラスタリングキーとは、Snowflakeのストレージ単位であるマイクロパーティション内にデータをまとめて配置するために使用される列または式のサブセットです。クラスタリングは、スキャンする必要のあるデータ量を削減するため、クラスタリングキー列でフィルタリングするクエリのパフォーマンスを向上させることができます。クラスタリングキーの最適な選択は、クエリパターンとテーブル内のデータ分布によって異なります。この例では、DeviceId、IOT_timestamp、CustomerIdの各列がSELECT文のフィルタ述語で頻繁に使用されているため、クラスタリングキーの候補として適しています。CityとDeviceManufacturerの各列は取得されることは多いものの、フィルタリングの対象にはならないため、クラスタリングキーとしてはそれほど重要ではありません。
UniqueId列はカウントに使用されますが、クラスタリングキーとしては適していません。なぜなら、UniqueId列はカーディナリティが高く、分布が均一である可能性が高く、データの共存に役立たないからです。
したがって、クラスタリングキーとしてDeviceIdとCustomerIdを使用するのが最善の選択肢です。これらはマイクロパーティションの削減とクエリの高速化に役立ちます。参考資料:クラスタリングキーとクラスタ化テーブル、マイクロパーティションとデータクラスタリング、Snowflakeクラスタリング完全ガイド