Google Cloud Archiecture: можно ли использовать озеро данных для OLTP? - PullRequest
1 голос
/ 18 января 2020

Я хочу создать крупномасштабное веб-приложение в облаке Google, и мне нужна система OLAP, которая создает модели ML, которые я планирую проектировать, отправляя все данные через Pub / Sub в озеро данных BigTable . , Модели создаются datapro c процессами.

Модели развертываются в микро-сервисах, которые выполняют их на данных из пользовательских сессий. Мой вопрос: где я могу хранить «обычные бизнес-данные» для этих микроуслуг? Нужно ли отделять данные для микроуслуг, которые предоставляют веб-приложение, от данных в озере данных, например, с использованием MariaDB экземпляров (дБ на США)? Или я могу связать их с BigTable ?

Относительно озера данных: есть ли альтернативы BigTable ? Другой разработчик сказал мне, что можно хранить данные в облачном хранилище Google (Buckets) и получать к ним доступ с помощью DataPro c, чтобы сэкономить межрегиональные расходы из BigTable.

1 Ответ

2 голосов
/ 18 января 2020

Ого, много вопросов, много гипотез и много возможностей. Лучший ответ - «все зависит от ваших потребностей»!

Где я могу хранить «обычные бизнес-данные» для этих микроуслуг?

Хотите, чтобы вы хотели делать в этих микросервисах?

Или я могу связать их с BigTable?

Да, можете, но вам это нужно? Если вам нужны необработанные данные перед обработкой, подключитесь к BigTable и отправьте запрос!

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

Есть ли альтернативы BigTable?

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

BigTable, BigQuery и Cloud Storage доступны через datapro c, так что вам нужно!

Другой разработчик сказал мне, что можно хранить данные в облачном хранилище Google (Buckets)

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


Примечание

Вы можете думать, что ваше приложение в другом путь. Если вы публикуете событие sh в PubSub, одним из распространенных шаблонов является обработка их с помощью Dataflow , по крайней мере, для предварительной обработки -> ваша задача datapro c для обучения вашей модели будет проще this!

Если вы тренируете модель Tensorflow, вы также можете рассмотреть BigQuery ML не для обучения (за исключением случаев, когда стандартная модель соответствует вашим потребностям, но я сомневаюсь), но для обслуживающей части.

  1. Загрузите модель тензорного потока в BigQueryML
  2. Просто запросите данные с помощью BigQuery в качестве входных данных вашей модели, отправьте их в вашу модель и сразу получите прогноз. Это вы можете сохранить непосредственно в BigQuery с помощью запроса Insert Select. Обработка для прогноза бесплатна , вы платите только данные, отсканированные в BigQuery!

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

...