ОБЛАЧНЫЕ СЕРВИСЫ GOOGLE ДЛЯ ПРОЕКТОВ БОЛЬШИХ ДАННЫХ

dis.agency
Опубликовано :2021-09-07 | Блог
ОБЛАЧНЫЕ СЕРВИСЫ GOOGLE ДЛЯ ПРОЕКТОВ БОЛЬШИХ ДАННЫХ

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

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

Облако PubSub

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

[Визуализация рабочего процесса PubSub].

Приведенная выше диаграмма описывает основной поток PubSub. Сначала приложения-издатели публикуют сообщения в тему PubSub. Затем тема отправляет сообщения в подписки PubSub; подписки хранят сообщения; приложения-подписчики читают сообщения из подписок.

  • Преимущества
  • Высоконадежный коммуникационный уровень

Высокая пропускная способность

  • Ограничения
  • 10 МБ - максимальный размер одного сообщения
  • 10 МБ - максимальный размер для одного запроса, что означает, что если нам нужно отправить десять сообщений на один запрос, то средняя общая длина каждого уведомления составит 1 МБ.

Максимальный размер значения атрибута - 1 МБ

Стратегия ценообразования

Вы платите за переданные данные за ГБ.

Аналоги и альтернативы

  • Apache Kafka
  • RabbitMQ
  • Amazon SQS
  • Azure Service Bus
  • Другие брокеры сообщений с открытым исходным кодом

Облачное ядро Google IoT

 

 

[Архитектура Cloud IoT Core].

Cloud IoT Core - это реестр устройств IoT. Эта служба позволяет устройствам подключаться к Google Cloud Platform, получать сообщения от других устройств и отправлять сообщения этим устройствам. Для получения сообщений от устройств IoT Core использует Google PubSub.

Преимущества

  • Протоколы передачи данных MQTT и HTTPS
  • Безопасное подключение и управление устройствами

Стратегия ценообразования

Вы платите за объем данных, который вы передаете через эту службу.

Аналоги и альтернативы

  • AWS IoT Core
  • Azure IoT

Облачный Dataproc

 

Cloud Dataproc - это более быстрый, простой и экономичный способ запуска Apache Spark и Apache Hadoop в Google Cloud. Cloud Dataproc - это облачное решение, охватывающее все операции, связанные с развертыванием и управлением кластерами Spark или Hadoop. 

Проще говоря, с помощью Dataproc можно создать кластер из экземпляров на Google Cloud Platform, динамически изменять размер кластера, конфигурировать его и запускать задания MapReduce.

Преимущества

  • Быстрое развертывание
  • Полностью управляемый сервис означает, что вам нужен только правильный код, никакой работы по эксплуатации
  • Динамическое изменение размера кластера
  • Функция автоматического масштабирования

Ограничения

  • Нет возможности выбора конкретной версии используемого фреймворка
  • Вы не можете приостановить/остановить Data Proc Cluster для экономии средств. Можно только удалить кластер. Это можно сделать через Cloud Composer.
  • Вы не можете выбрать менеджер кластера, только YARN.

Стратегия ценообразования

Вы платите за каждый используемый экземпляр с некоторыми дополнительными платежами - Google Cloud Platform выставляет счет за каждую минуту работы кластера.

Аналоги и альтернативы

  • Создание кластера на виртуальных машинах
  • Amazon EMR
  • Azure HDInsight

Поток данных в облаке

 

[Место Cloud Dataflow в приложении для работы с большими данными на Google Cloud Platform].

Cloud Dataflow - это управляемый сервис для разработки и выполнения широкого спектра схем обработки данных, включая ETL, пакетную, потоковую обработку и т. д. Кроме того, Dataflow используется для построения конвейеров данных. Этот сервис основан на Apache Beam и поддерживает задания на Python и Java.

Преимущества

  • Сочетание пакетной и потоковой обработки данных с помощью единого API
  • Быстрое развертывание
  • Полностью управляемый сервис, без операционной работы
  • Динамическая ребалансировка работы
  • Автомасштабирование

Ограничения

  • Основан на едином решении, поэтому наследует все ограничения Apache Beam
  • Максимальный размер значения одного элемента в Streaming Engine составляет 100 Мб

Стратегия ценообразования

Счета за задания Cloud Dataflow выставляются за секунду, исходя из фактического использования Cloud Dataflow.

Аналоги и альтернативы

  • Создание кластера на виртуальных машинах и запуск Apache Beam через встроенный runner
  • Насколько я знаю, у других облачных провайдеров нет аналогов.

Google Cloud Dataprep

 

[Интерфейс Dataprep].

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

Например, вы можете использовать Dataprep для построения ETL-конвейера для извлечения необработанных данных из GCS, очистки этих данных, преобразования их в нужный вид и загрузки в BigQuery. Кроме того, вы можете запланировать ежедневное/еженедельное/etc задание, которое будет запускать этот конвейер для получения новых необработанных данных.

Преимущества

  • Упрощение построения конвейеров ETL
  • Обеспечивают понятный и полезный веб-интерфейс
  • Автоматизация многих ручных операций для инженеров по обработке данных
  • Встроенный планировщик
  • Для выполнения заданий ETL Dataprep использует Google Dataflow

Ограничения

  1. Работает только с BigQuery и GCS

Стратегия ценообразования

Для хранения данных вы платите за хранение данных. Для выполнения заданий ETL вы платите за Google Dataflow.

Облачный композитор

 

Cloud Composer - это служба оркестровки рабочих процессов для управления обработкой данных. Cloud Composer - это облачный интерфейс для Apache Airflow. Composer автоматизирует задания ETL. Один из примеров - создание кластера Dataproc, выполнение преобразований извлеченных данных (с помощью задания Dataproc PySpark), загрузка результатов в BigQuery, а затем отключение коллекции Dataproc.

Преимущества

  • Заполняет пробелы других решений Google Cloud Platform, таких как Dataproc
  • Наследует все преимущества Apache Airflow
  • Ограничения
  • Предоставляет веб-интерфейс Airflow на публичном IP-адресе
  • Наследует все правила Apache Airflow

Стратегия ценообразования

Вы платите только за ресурсы, на которых развернут Composer. Но Composer будет развернут на 3 экземплярах.

Аналоги и альтернативы

  • Развернутый на заказ Apache Airflow
  • Другие решения для оркестровки с открытым исходным кодом

BigQuery

 

[Пример интеграции BigQuery в решение для обработки данных с различными внешними интеграциями] 

BigQuery - это хранилище данных. BigQuery позволяет хранить и запрашивать массивные наборы данных объемом до сотен петабайт. По своей структуре BigQuery очень похож на реляционные базы данных. Он имеет табличную структуру, использует SQL, поддерживает пакетную и потоковую запись в базу данных, интегрирован со всеми сервисами Google Cloud Platform, включая Dataflow, Apache Spark, Apache Hadoop и др. Он лучше всего подходит для использования в интерактивной очереди и автономной аналитике.

Преимущества

  • Огромная емкость, до сотен петабайт
  • SQL
  • Пакетная и потоковая запись
  • Поддержка сложных запросов
  • Встроенный ML
  • Бессерверный
  • Общие наборы данных - вы можете обмениваться наборами данных между различными проектами
  • Глобальное расположение
  • Все популярные инструменты обработки данных имеют интерфейсы к BigQuery

Ограничения

Не поддерживает транзакции, но тем, кому нужны транзакции в OLAP-решении, это необходимо

Максимальный размер строки составляет 10 Мб

Стратегия ценообразования

Вы платите отдельно за хранимую информацию (за каждый Гб) и за выполняемые запросы.

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

Аналоги и альтернативы

  • Amazon Redshift
  • Azure Cosmos DB

Cloud BigTable

 

Google Cloud BigTable - это служба базы данных NoSQL Big Data компании Google. Эта же база данных используется во многих основных сервисах Google, включая Поиск, Аналитику, Карты и Gmail. Bigtable разработана для обработки больших рабочих нагрузок при постоянной низкой задержке и высокой пропускной способности, поэтому это отличный выбор для операционных и аналитических приложений, включая IoT, пользовательскую аналитику и анализ финансовых данных.

Cloud Bigtable основана на Apache HBase. Эта база данных обладает огромной емкостью и предлагается для использования данных объемом более терабайта. Например, BigTable лучше всего подходит для данных временных рядов и данных IoT.

Преимущества

  • Хорошая производительность при работе с данными объемом 1 Тб и более
  • Изменение размера кластера без простоя
  • Невероятная масштабируемость
  • Поддержка API Apache HBase

Ограничения

  • Плохая производительность при работе с данными объемом менее 300 Гб
  • Не подходит для реального времени
  • Не поддерживает ACID операции
  • Максимальный размер одного значения - 100 Мб
  • Максимальный размер всех значений в строке - 256 Мб
  • Максимальный размер жесткого диска - 8 Тб на узел
  • Минимум три узла в кластере

Стратегия ценообразования

BigTable очень дорогой. Вы платите за узлы (минимум 0,65$ в час за узел) и объем хранилища (минимум 26$ за терабайт в месяц).

Аналоги и альтернативы

  • Развертывание Apache HBase на заказ

Облачное хранилище

 

GCS - это блочное хранилище для файлов. Вы можете хранить там любое количество файлов любого размера.

Преимущества

  • Хороший API для всех популярных языков программирования и операционных систем
  • Неизменяемые файлы
  • Версии файлов
  • Подходит для файлов любого размера
  • Подходит для любого количества файлов
  • И т.д.

Стратегия ценообразования

У GCS есть несколько тарифных планов. В стандартном тарифном плане вы платите за 1 Гб сохраненных данных.

Аналоги и альтернативы

  • Amazon S3
  • Azure Blob Storage

Другие облачные службы Google

Есть еще несколько служб, о которых следует упомянуть.

Google Cloud Compute Engine предоставляет виртуальные машины с любой производительностью.

Google CloudSQL - это облачное решение для размещения баз данных MySQL и PostgreSQL. Имеет встроенные функции вертикального и горизонтального масштабирования, брандмауэра, шифрования, резервного копирования и другие преимущества использования облачных решений. Имеет терабайтную емкость. Поддерживает сложные запросы и транзакции

Google Cloud Spanner - полностью управляемая, масштабируемая служба реляционных баз данных. Поддерживает SQL-запросы, автоматическую репликацию, транзакции. Имеет емкость в один петабайт и лучше всего подходит для крупномасштабных приложений баз данных, которые хранят более пары терабайт данных.

Google StackDriver контролирует сервисы и инфраструктуру Google, а ваше приложение размещается на облачной платформе Google.

Cloud Datalab - это способ визуализации и изучения ваших данных. Этот сервис предоставляет "облачный" способ размещения блокнотов Python Jupyter.

Google Cloud AutoML и Google AI Platform позволяют обучать и размещать высококачественные пользовательские модели машинного обучения с минимальными усилиями.

Заключение

Теперь вы знакомы с основными службами данных, которые предоставляет Google Cloud Platform. Эти знания могут помочь вам построить хорошее решение для работы с данными. Но, конечно, облака - это не серебряная пуля, и если вы используете облака неправильно, это может существенно повлиять на ваши ежемесячные счета за инфраструктуру.

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

Полезные ссылки:

 

Работаем вместе?

Свяжитесь с нами +373 69 423 639
+373 68 057 085
Не можете сделать выбор? Задайте вопрос эксперту!