Преимущества потока данных над облачными функциями при перемещении данных? - PullRequest
0 голосов
/ 05 июля 2018

Я относительно новичок в GCP и только начинаю настраивать / оценивать архитектуру моей организации на GCP.

Сценарий:
Данные будут перетекать в паб / подтему (высокая частота, небольшое количество данных). Цель состоит в том, чтобы переместить эти данные в Big Table. Насколько я понимаю, вы можете сделать это либо с помощью облачной функции, запускаемой по данной теме, либо с помощью Dataflow.

Теперь у меня есть предыдущий опыт работы с облачными функциями, который меня устраивает, так что это мой выбор.

Я не вижу преимущества выбора одного над другим. Поэтому мой вопрос: когда выбрать, какой из этих продуктов?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

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

Однако, когда вам нужно выполнить преобразования, такие как объединение этих событий пользователем перед сохранением их в BigTable, вот где Dataflow действительно сияет:

https://beam.apache.org/documentation/programming-guide/#groupbykey

0 голосов
/ 05 июля 2018

Оба решения могут работать. Поток данных будет лучше масштабироваться, если трафик вашего паба / субабонента увеличится до больших объемов данных, но облачные функции должны нормально работать для небольших объемов данных; Я бы посмотрел на эту страницу (особенно в разделе ограничения скорости), чтобы убедиться, что вы вписываетесь в облачные функции: https://cloud.google.com/functions/quotas

Еще одна вещь, которую следует учитывать, - это то, что Dataflow может гарантировать однократную обработку ваших данных, чтобы в BigTable не было дубликатов. Облачные функции не сделают этого за вас из коробки. Если вы используете функциональный подход, то вам нужно убедиться, что сообщение Pub / Sub последовательно определяет, в какую ячейку BigTable записывается; таким образом, если функция будет повторена несколько раз, одни и те же данные просто перезапишут одну и ту же ячейку BigTable.

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