Совет Datalake / хранилище данных BigQuery setup
Прежде всего, заранее извиняюсь за длинную историю и иногда использую неправильную терминологию.
Надеемся, что кто-то может посоветовать нам, как оптимально внедрить BigQuery в нашу организацию.
Текущая настройка
На данный момент у нас есть хранилище данных в MySQL с нормализованными данными с использованием схемы снежинки.
Данные собираются из других баз данных SQL и MySQL, используя главным образом сервер автоматизации Simego-Ouvvi.
Мы используем программное обеспечение Qlikview и PowerBI для визуализации этих данных.
Все это прекрасно работает, однако в прошлом году мы работали над более ориентированным на события подходом. Мы стремимся создавать события практически для всего, что происходит в нашей организации, что означает, что мы будем создавать намного больше данных.
Кроме того, мы хотели бы объединить внутренние данные с различными источниками данных, такими как Google Analytics.
Будущая настройка
Мы начали строить конвейер Rabbit MQ для BigQuery с использованием Apache Beam, чтобы передавать наши данные в набор данных BigQuery (пока называемый "datalake").
Пока что все хорошо, надеюсь.
Теперь, чтобы иметь возможность использовать эти сообщения для целей отчетности, нам необходимо преобразовать эти сообщения о событиях. Наша идея состоит в том, чтобы запрашивать наши сообщения и сохранять нужные нам свойства в наборе данных, называемом "хранилище данных". Мы хотели бы использовать схему снежинки для этого склада с некоторыми вложенными полями.
Но как этого добиться? Я поигрался с веб-интерфейсом BigQuery для некоторых запросов, и я думаю, что можно просто использовать запланированные запросы.
Однако мы бы предпочли использовать один (или более) инструмент (ы), который позволяет (упорядочено по важности):
- Разработайте нашу схему хранилища данных (в нашем старом хранилище данных мы используем MySQL Workbench. Далеко не идеально, но достаточно хорошо).
- Преобразование данных проще, чем просто с помощью запросов.
- Применить контроль версий. Кто что изменил, когда и т. Д.
- Просмотрите изменения перед их применением.
- Применять непрерывное развертывание.
Я потратил много времени на поиск в Google, но есть так много инструментов, что я чувствую себя немного ошеломленным. Так что любая помощь, предложение или критика высоко ценится!