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