Хранилище данных в Snowflake — какой тип данных временной метки следует использовать для атрибутов load_datetime

#snowflake-cloud-data-platform

#snowflake-cloud-data-platform

Вопрос:

В хранилище данных все объекты имеют атрибут load_datetime, который можно использовать для определения относительного порядка вставки в базу данных, независимо от того, где в мире это произошло.

Какой тип данных Snowflake лучше всего подходит для таких столбцов и почему?

Мое собственное ощущение таково, что timestamp_ntz не будет работать, поскольку он просто записывает время «wallclock».

Я бы подумал, что timestamp_ltz — лучший выбор, поскольку он хранит только UTC.

Кроме того, timestamp_tz должен поддерживать правильный относительный порядок, но информация о местном времени в данном случае не имеет значения, поэтому timestamp_ltz кажется более чистым выбором.

Я что-нибудь пропустил?

Ответ №1:

Я согласен, что использование _ltz (UTC) — лучший выбор, особенно если у вас есть источники, поступающие из разных часовых поясов. Если все ваши источники являются локальными для одного часового пояса, то _tz было бы прекрасно, но зачем так рисковать?

Комментарии:

1. Вы имели в виду _ntz, а не _tz в сценарии, что все источники находятся в одном часовом поясе? _tz должно быть в порядке для источников, распределенных по разным часовым поясам, поскольку оно включает компонент часового пояса, не так ли?

2. Да, я виноват. _ntz, чтобы сохранить часовой пояс, если это требование знать часовой пояс.