Pull to refresh

Comments 6

Основная претензия к Snowflake — data lock-in.


Open-source версия, или хотя бы публичная документация формата файлов на S3 нужна индустрии.

Да, есть такое мнение, но немногие это учитывают как важный фактор при выборе платформы для аналитики.
Кому-то, возможно, будет интересно почитать короткую дискуссию на эту тему — она в комментариях к статье:
Selling the Data Lakehouse

Несколько странное требование к базе данных. Большинство OLAP решений по факту пропиетарные и не раскрывают свои форматы. А зачем? Если вам надо загрузить или выгрузить данные - куча открытых форматов подерживается. В чем там lock in вы усматриваете?

Ну если рассматривать Snowflake как базу то ОК, но если рассматривать как ground-truth data lake, то пока что есть аргументы что лучше по старинке хранить Parquet файлы на S3. Athena по функционалу и мощности — лишь подобие Snowflake. А хотелось бы большего.

Максим, очень хорошая статья! Спасибо )
  1. А как вы запускаете Airflow задачу, которая зовёт Snowflake copy? Раз в секунду? Как эта задача понимает, какие csv файлы новые а какие уже ранее обработанные?

  2. Как вы прописываете зависимости между Airflow задачами? Ну вот например: когда данные появились в Snowflake, то нужно запустить задачи преобразования данных в Data Mart. Опять же преобразования Data Mart это скорее дерево задач, какие-то промежуточные таблицы могут порождать следующие (таблица с чистыми данными, потом с джойнами, а конечные таблицы например какие то матрики за месяц). Или зависимости не нужны, и каждый DAG просто независимо раз в секунду проверяет, готовы ли для него новые данные?

  3. На каждом ли этапе у вас incremental batch update? Batch в данном случае то, что пришло из S3 в Snowflake, ведь даже потоковые данные вы в итоге батчуете (накапливаете в один файл в S3). Я та подозреваю что для каких-то метрик инкрементал апдейты вообще невозможны и надо пересчитывать всё (например total за последний год).

Sign up to leave a comment.