От задач к снежной трубе

Снежинка - платформа облачных данных. Если быть более конкретным, это первая облачная платформа для обработки данных. Его архитектура позволяет специалистам по данным не только создавать хранилища данных, но и облачные хранилища данных, поскольку он может легко управлять как структурированными, так и неструктурированными данными.

Поскольку Snowflake базируется в облаке, это означает, что он позволяет разработчикам использовать преимущества эластичности и масштабируемости, не беспокоясь о таких вещах, как высокие первоначальные затраты, производительность или сложность управления системой.

Так зачем использовать снежинку?

Когда дело доходит до облачных хранилищ данных, существует множество вариантов, и у каждого есть свои варианты использования. Однако наша команда обнаруживает, что все больше и больше пользователей либо выбирают, либо переключаются на Snowflake из-за его множества полезных функций и общей простоты использования.

Вот лишь некоторые из причин, по которым людям нравится использовать SnowflakeDB.

Cloud Agnostic

Snowflake не ограничивается одним конкретным облачным провайдером. Вместо этого компании могут легко масштабировать свое хранилище данных через Amazon Web Services (AWS), Microsoft Azure и GCP.

Это означает, что компаниям не нужно тратить время на настройку гибридных облачных систем.

Производительность и скорость

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

Удобный UI / UX

UI / UX Snowflake прост в использовании и к тому же очень многофункциональный. Легко найти старые запросы, которые вы выполняли, или даже другие запросы пользователей, которые выполняются (в зависимости от вашего уровня доступа).

Есть также целый ряд других функций, которые не скрываются за настройками и выпадающими настройками, а не скрываются за нажатием кнопок, о существовании которых вы, возможно, даже не подозреваете. Это делает Snowflake очень удобным для пользователя, и я часто нахожу, что многим аналитикам очень легко работать со Snowflake.

Снижение накладных расходов на администрирование

Облачные сервисы часто требуют меньших затрат на администрирование, поскольку компаниям не нужно управлять оборудованием, и они часто могут воспользоваться преимуществами масштабирования. Кроме того, Snowflake - это SaaS, а это означает, что настройкой, обновлениями и общим управлением в основном управляет Snowflake, а не ваша компания.

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

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

Цены по запросу

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

Поддержка различных форматов файлов

Данные больше не поступают в форматах CSV, XML, разделенных вертикальной чертой или TSV. В свою очередь, Snowflake поддерживает как структурированные данные, так и широкий спектр полуструктурированных данных, включая Parquet, Avro и JSON.

Особенности снежинки

Еще одна веская причина перейти на Snowflake - это множество технических функций, которые она предлагает конечным пользователям.

Снежинка Задачи

Задачи «Снежинки» - это отдельные операторы SQL, которые используются независимо для аналитических отчетов. Этот процесс происходит путем объединения или вставки строк в таблицу отчета. Эти задачи выполняются в определенное время и пропускают любые другие задачи, выполняемые при каждом новом выполнении.

Задачи запускаются с помощью выражений cron и позволяют пользователю указать свой часовой пояс и настроить переход на летнее время. Задачи начинаются с корневой задачи, которая может быть связана с другими задачами, такими как дерево.

Задачи происходят от одного узла к определенному конечному узлу назначения, а не от структуры DAG. Максимальное количество задач в дереве - 1000, включая корневую задачу. Имейте в виду, что у всех задач должна быть одна роль или один владелец.

Снежинка Snowpipes

С помощью Snowpipe вы можете загружать данные микропакетами, когда они будут готовы на этапе. Это обеспечивает более быстрое решение, чем традиционный метод выполнения оператора COPY вручную.

Пользователи определяют канал, на который указывает ссылка, который является объектом Snowflake с оператором COPY. Самое замечательное в Snowpipe - это то, что он может работать со всеми структурированными типами данных.

Некоторые другие важные функции включают автоматизацию с использованием облачных сообщений и вызова конечных точек REST. Когда поступают новые загрузки данных, они запускают уведомление о событии для облачного хранилища.

Как только это произойдет, Snowpipe сможет скопировать файл и загрузить его в очередь в целевой таблице. Затем клиентское приложение вызывает общедоступную конечную точку REST. Список имен файлов и объектов конвейера запрашивает это действие, и новые данные загружаются из очереди на основе определения параметров в канале.

Снежинка ручьи

Поток Snowflake (или просто «поток») записывает язык манипулирования данными. Он записывает изменения от удалений, вставок, обновлений и метаданных, связанных с любыми изменениями. Это позволяет выполнять действия с использованием записанных данных изменений.

В потоке нет табличных данных, но хранится смещение для исходной таблицы. Это происходит, если для исходной таблицы используется история версий. Stream может «пометить» точку, когда происходят изменения, например, в исходной таблице. Потоки можно создавать и отбрасывать по мере необходимости, что обеспечивает значительную гибкость.

Новая версия таблицы возникает, когда операторы DML фиксируются в таблице. Этот процесс позволяет минимизировать изменения от текущих смещений к текущей версии таблицы.

Отметка времени запрашивается для точки продвижения потока, когда операторы SQL запрашивают явную транзакцию. Это верно как для CREATE TABLE, так и для DML, когда существующие операторы потока заполняют новую строку таблицы.

Решение Snowflake с потоками и задачами

Функция путешествия во времени Snowflake обеспечивает поток таблицы, который содержит последние изменения строк. Он работает так же, как запрос, и после использования данных он перемещается вперед и изменяет метаданные для каждой строки.

Как упоминалось в отношении задач, они выполняются с помощью оператора SQL и предоставляют назначенные действия в виде древовидной структуры. Если они используются вместе, эти функции создают конвейер ELT.

Это решение готово к использованию и предварительно построено с помощью Table Stream и Task. При совместном использовании вы можете фиксировать изменения, в том числе следующие.

  • Вставки
  • Обновления
  • Удаляет
  • Метаданные

Это экономичный вариант, который поможет вам избавиться от многих сторонних инструментов. Вы получаете высокий уровень удобства использования и современные функции, которые делают использование Snowflake лучшим вариантом для многих бизнес-нужд.

Снежинка для тебя?

Если вам интересно, почему вам следует использовать Snowflake, подумайте о диапазоне возможностей и доступных решений, которые вы можете реализовать для замены устаревшей системы. Вы получаете все функции безопасности и основные функции облачной среды с большой гибкостью и возможностями управления, которые помогут настроить ваши решения.

Snowflake может подойти вам, если вы задумались о внедрении облачных решений для обработки данных. Даже если в настоящее время вам нужно однопользовательское решение из-за корпоративных политик, Snowflake также предлагает этот вариант.

Snowflake также предлагает локальное решение для обработки данных, которое устраняет необходимость в физическом хранении данных за счет внедрения облака. Вы также получаете возможность использовать масштабируемые функции, которые могут работать с полуструктурированными данными, как со структурированными данными. Однако загрузка полуструктурированных данных составляет 16 МБ.

Snowflake может загружать и запрашивать данные, такие как XML и JSON, и позволяет разделять вычисления и хранение. Однако вы не можете загружать PDF-файлы, аудио и изображения в Snowflake, если вы не конвертируете их в символьные строки или двоичные файлы, ограниченные 8 мегабайтами и 16 мегабайтами, если вы используете символьные строки. Оптимальный размер файлов - 1 ГБ, и для достижения наилучших результатов служба поддержки Snowflake рекомендует разбивать файлы большего размера.