Очень похоже на ответ Гохана, но я бы описал его по-другому.
Микроразделы:
Каждый раз, когда записывать данные в снежинку, они записываются в новый файл, потому что файлы неизменяемы , Это означает, что у вас есть много фрагментов. Но из-за сохранения метаданных для таблиц Snowflake может удалять таблицы, которые, как известно, не содержат искомых данных. В противном случае он загружает все данные (для выбранных вами столбцов) и выполняет «полную проверку» таблицы. Микроразделы Snowflake не имеют никакого отношения к разбиению classi c, за исключением случаев, когда вам повезет, что вы можете получить обрезку. Также микроразделы пишутся о том, как вы загружаете данные, и просто «разбиваются» на большее количество разделов, когда ваши записи go превышают пороговое значение. Так же, как вы получаете из WinZip / 7Zip / Gzip с параметром максимального размера фрагмента файла. Следующее, что нужно отметить, если вы обновите ROW в разделе, весь раздел будет переписан. И порядок обновленных строк не контролируется и может быть случайным (в зависимости от логики соединения вашей таблицы c). Таким образом, если вы делаете много записей или много «маленьких» обновлений, у вас будет очень плохая фрагментация ваших разделов, что очень негативно скажется на времени компиляции, так как все метаданные должны быть загружены. За что они сейчас берут плату. Это похоже на то, что S3 является неизменным хранилищем файлов, но это также то, почему вы можете разделять данные формы вычислений. Кроме того, работают «временное отслеживание» и «сохранение данных за прошлые дни», поскольку предыдущее состояние таблицы не удаляется в течение этого времени, поэтому вы платите за хранилище S3. Это также означает, что нужно следить за своим оттоком, так как вы платите за все данные, записанные в совокупности за дни
Кластеризация данных:
Это способ указать, каким образом вы хотите, чтобы данные были упорядочены. Эфирные устаревшие команды кластера вручную или автоматическая кластеризация перезапишут разделы для улучшения кластеризации. Подумайте о Norton SpeedDisk (если вы учитесь в старшей школе) Запись в таблицу в том порядке, в котором вы хотите, чтобы она была кластеризована (то есть всегда есть ORDER BY на вашей INSERT), улучшит ситуацию. Но вы можете иметь таблицу, кластеризованную только на одном наборе «KEYS», поэтому вам нужно подумать о том, как вы в основном используете данные, прежде чем кластеризовать их. Или иметь несколько копий данных с нужным нам поведением min-sub-set / sort (мы делаем это). предупреждение: ОБНОВЛЕНИЯ в настоящее время не учитывают эту кластеризацию, и вы можете заплатить более чем в 4 раза больше, чем полная перезапись таблицы, запустив автоматическую кластеризацию, вы должны следить за этим, поскольку это потенциально неограниченная стоимость.
Короче говоря кластеризация похожа на индексы бедняков, а Snowflake - это, по сути, массивная полная таблица сканирования / преобразования / сокращения. Но это действительно хорошо, и когда вы понимаете, как это работает, пользоваться им очень весело.