Snowflake - мой выбор для построения data продуктов
За последние несколько лет мне довелось работать с разными инструментами и архитектурами в сфере данных. Но когда встал вопрос о выборе платформы которая должна заменить разрозненные решения, решение казалось весьма не простым.
Примерно 2.5 3 года назад встал вопрос по выбору новой архитектуры и стека технологий. Основной задачей было оптимизировать стек и затраты т.к. на тот момент компания использовала разные инструменты (big query, redshift, synapse , databricks, а также некоторое количество отдельно стоящих инстансов mssql, oracle, Postgres) . Это было причиной не только высоких затрат на compute , но и требовало много людей с глубокими знаниями каждой технологии.
Важнейшими критериями помимо стоимости были:
1. Масштабируемость ( minimal Ops) Важно иметь возможность легко подстраиваться под новые бизнес задачи, не затрачивая много времени на настройку инфраструктуры ( фокус на данные и логику не DevOps) 2. Pay as you GO 3. Изоляция нагрузки (transformation, bi, ingestion, ML) 4. Безопасность и соответствие compliance требованиям в разных регионах 5. Сильная экосистема и развитие. Платформа должна иметь сильный road map к one stop shop offering. 6. Быстрый старт out of the box 7. Zero copy clone concept. Возможность делиться и получать данные не только внутри организации но и с внешними партнерами и клиентами. 8. Cloud agnostic (важный критерий т.к. компания работает с разными cloud провайдерами и регионами)
После сравнения множества решений, именно Snowflake оказался лучшим выбором по ряду причин — от serverless-архитектуры и изоляции нагрузки до сильной экосистемы и мультиоблачной поддержки.
В следующих статьях я приведу детальное сравнение. И опишу архитектуру решения. Также буду рассказывать про свой опыт работы с фичами Snowflake:
1. Secure data sharing 2. Snowflake marketplace 3. Snowpark 4. Streams/taska 5. Streamlit on Snowflake 6. Snowflake Cortex AI 7. Streams/tasks