Google BigQuery — зачем нужна облачная база данных

Ранее я публиковал цикл материалов о работе с Google BigQuery. В этой статье расскажу о преимуществах и особенностях сервиса, а также о дополнительных инструментах для BigQuery.
Google BigQuery — это облачная база данных с высочайшей скоростью обработки огромных массивов данных.
Как начать работу в Google BigQuery
Войдите в Google Cloud Platform. При первом запуске система предложит активировать бесплатный пробный период и получить кредит $300 на 12 месяцев. Честно говоря, чтобы потратить за год в BigQuery эту сумму, вам придется очень сильно постараться.
Для дальнейшей работы введите платежные данные.
Нажмите «Выбрать проект».
Затем — «Создать проект».
Примите условия использования платформы.
Наконец, назовите проект, задайте настройки уведомлений и еще раз согласитесь с условиями использования платформы.
После подтверждения подождите несколько минут.
Вскоре вы получите оповещение, что проект создан.
Перейдите в раздел оплаты и привяжите платежный аккаунт.
Теперь проект привязан к только что созданному платежному аккаунту.
Перейдите в интерфейс Google BigQuery и напишите свой первый запрос.
Чтобы открыть редактор запросов, нажмите «Compose query» или сочетание клавиш «Ctrl + Space».
Рассмотрим, как написать первый запрос на примере публичных данных в BigQuery. Возьмите первые 15 строк из таблицы project_tycho_reports, которая находится в наборе публичных данных lookerdata.
SELECT *FROM [lookerdata:cdc.project_tycho_reports]LIMIT 25Запрос вернет результат:
Как начать работу с BigData — загружаем данные в Google BigQuery Ранее я описывал самые простые
Почему стоит выбрать именно Google BigQuery
Скорость — это основное преимущество BigQuery, но не единственное. BigQuery — облачный сервис. При его использовании не понадобится арендовать сервер и оплачивать поддержку.
Стоимость BigQuery значительно ниже стоимости аренды самого примитивного сервера: даже если вы очень постараетесь и будете ежедневно записывать в эту базу данных миллионы строк, все равно вряд ли сможете потратить более $5.
Следующее преимущество — простота использования. В любой другой системе управления базами данных (СУБД) помимо знания SQL придется долго разбираться с тонкостями администрирования и настройками базы.
И если сам по себе SQL-диалект во всех базах данных очень похожий, то административная часть, как правило, везде устроена по-разному.
У BigQuery всю административную часть на себя взял Google. В этом сервисе нет никаких настроек, индексов, движков таблиц, тайм-аутов или внешних ключей. Реализована поддержка только одной кодировки UTF-8.
Для работы с BigQuery достаточно знать, как загрузить данные в BigQuery, и иметь базовые знания в SQL.
Несмотря на простоту, в BigQuery реализована поддержка пpaктически всех функций СУБД:
Как работать с оконными функциями в Google BigQuery — подробное руководство
оконные функции ;- хранение данных в виде структур (нереляционные возможности) ;
- представления и табличные выражения (common table expression).
Правда, на момент публикации статьи сервис не поддерживает:
- рекурсивные запросы;
- создание хранимых процедур и функций;
- транзакции.
Особенности SQL для Google BigQuery
BigQuery умеет переключаться между стандартным SQL и диалектами.
DML-операции INSERT, UPDATE и DELETE на данный момент поддерживаются только при использовании стандартного SQL.
Еще одно отличие между этими диалектами — способ вертикального объединения таблиц. В стандартном SQL для этого служит оператор UNION и ключевое слов ALL или DISTINCT:
SELECT 12 AS A, 32 AS BUNION ALLSELECT 2 AS A, 29 AS BВ собственном SQL-диалекте функционал для вертикального объединения таблиц значительно шире. Существует специальный набор функций подстановки таблиц (Table Wildcard Functions).
Как обpaбатывать данные из множества таблиц в Google BigQuery Этот
Для простого объединения достаточно просто перечислить названия нужных таблиц или подзапросы через запятую. Объединение запросов из примера выше на внутреннем диалекте SQL в BigQuery будет выглядеть так:
SELECT *FROM (SELECT 12 AS A, 32 AS B), (SELECT 2 AS A, 29 AS B)Переключатель между SQL-диалектами в BigQuery находится в интерфейсе в блоке опций: нажмите кнопку Show options под редактором запросов.
С помощью галочки «SQL Dialect» переключитесь на нужный диалект.
Инструменты для работы с BigQuery
Мы уже разобрались, как загружать данные в базу и как обращаться к данным SQL запросами. Но вряд ли вы хотите взаимодействовать с данными, ограничившись этими возможностями. Скорее всего, вы загружаете данные для построения дашбордов или чего-то подобного.
Как связать Microsoft Power BI и Google BigQuery Интеграция Google BigQuery c BI-платформами и электронными таблицами Как получить данные в различных BI платформах, я писал в статьях об интеграции с
Microsoft Power BI, как и большинство популярных BI-систем и электронных таблиц, с июля 2017 года поддерживает интеграцию с Google BigQuery из коробки. У коннектора довольно скудные возможности: он не умеет обращаться к сохраненным представлениям или отправлять в BigQuery запросы. Пока что с помощью встроенного коннектора можно вытягивать только плоские таблицы.
Simba Drivers
Если вам необходимо получить данные из Google BigQuery в электронной таблице или BI-системе, которая из коробки не поддерживает интеграцию, воспользуйтесь бесплатным Simba Drivers.
Этот драйвер поддерживает все необходимые возможности, включая переключения SQL-диалектов. Подробности настройки ищите в моей статье о связке Microsoft Power BI и Google BigQuery.
Язык R
Язык R — один из самых мощных инструментов для работы с данными. Он умеет как получать данные из Google BigQuery, так и записывать их. Для этого удобнее всего пакет bigrquery.
Для начала установите язык R. Также для удобства работы с R я рекомендую установить интегрированную среду разработки RStudio.
Запустите RStudio и с помощью сочетания клавиш «Ctrl+Alt+Shift+0» откройте все доступные в ней панели. Чаще всего понадобятся панели Source и Console.
Для установки develop-версии пакета bigrquery из репозитория на GitHub предварительно установите пакет devtools. Введите в окно Source код, затем выделите его (зажмите левой кнопки мыши) и нажмите «Ctrl+Enter» для выполнения комaнды:
install.packages(\"devtools\")Теперь установите пакет bigrquery:
devtools::install_github(\"rstats-db/bigrquery\")Чтобы в R были доступны функции пакета, после установки подключите их с помощью комaнды library или require. Например, подключим пакет bigrquery с помощью кода:
library(bigrquery)Структура данных в Google BigQuery состоит из проекта с набором данных, содержащим таблицы. Проект вы уже создали, а теперь для передачи информации создайте набор данных. Выберите в интерфейсе из выпадающего меню «Create new dataset».
Чтобы создать набор данных с помощью языка R, воспользуйтесь комaндой insert_dataset. Комaнда требует всего 2 аргумента:
project — ID проекта (возьмите из URL в BigQuery).
dataset — название нового набора данных.
Давайте создадим первый набор данных с названием myFirstDataSet. Введите в область Source приведенный ниже код, выделите комaнду с помощью мыши и нажмите «Ctrl+Enter» для выполнения.
insert_dataset(project = \"myfirstproject-185308\", dataset = \"myFirstDataSet\")В окне Console в RStudio появится запрос о создании учетных данных, чтобы в дальнейшем не требовалась повторная аутентификация.
Введите на запрос Selection в Console ответ Yes и нажмите Enter. Откроется браузер — разрешите доступ к данным и получите авторизационный код.
Скопируйте сгенерированный код. Затем вставьте его в Console RStudio в ответ на запрос авторизационного кода и нажмите Enter.
Отлично, вы создали набор данных.
Теперь запишите встроенную в R таблицу mtcars в набор данных myFirstDataSet. Для передачи данных из R в BigQuery в пакете bigrquery есть функция insert_upload_job. Она принимает такие аргументы:
project — ID проекта (смотрите либо в URL проекта, либо в режиме переключения проектов).
dataset — название набора данных, куда вы планируете отправить данные. В нашем случае myFirstDataSet.
table — название таблицы с записанными данными.
values — data frame (таблица данных) в R с данными для передачи в BigQuery.
billing = project аккаунта для оплаты операции. По умолчанию — платежный аккаунт, который привязан к проекту.
create_disposition — опция для определения необходимых действий.
Если в BigQuery нет таблицы с заданным в аргументе table названием, укажите \"CREATE_IF_NEEDED\" — система создаст новую таблицу.
Если указать \"CREATE_NEVER\" и таблица с заданным именем не найдется в наборе данных, будет возвращена соответствующая ошибка.
write_disposition — опция для выбора добавления данных в существующую таблицу.
\"WRITE_APPEND\" — дописать данные в таблицу.
\"WRITE_TRUNCATE\" — перезаписать данные в таблице.
\"WRITE_EMPTY\" — записать данные для пустой таблицы.
Код для передачи в BigQuery встроенной в R таблицы mtcars:
insert_upload_job(project = \"myfirstproject-185308\", dataset = \"myFirstDataSet\", table = \"mtcars_bigquery\", values = mtcars, create_disposition = \"CREATE_IF_NEEDED\", write_disposition = \"WRITE_APPEND\")При успешном выполнении операции в консоли R появится дополнительная информация, а в интерфейсе BigQuery — созданная таблица mtcars_bigquery.
Для запроса данных из BigQuery в R в пакете bigrquery предназначена функция query_exec. Основные аргументы:
query — текст SQL-запроса, результат которого вы хотите загрузить в R.
project — ID проекта для запроса данных.
page_size — максимальный размер возвращаемого результата в строках (по умолчанию 10 000).
max_pages — максимальное количество страниц возврата запросом (по умолчанию 10).
use_legacy_sql — выбор SQL-диалекта для обработки запроса.
По умолчанию задано значение TRUE с внутренним диалектом BigQuery.
Для стандартного диалекта SQL задайте в этом аргументе значение FALSE.
Для обратного запроса данных, которые вы отправили в BigQuery на прошлом шаге, задайте комaнду:
bq_mtcars_table <- query_exec(query = \"SELECT * FROM myFirstDataSet.mtcars_bigquery\", project = \"myfirstproject-185308\", use_legacy_sql = TRUE)В рабочем окружении (описание которого вы видите в окне Environment) появится новый объект bq_mtcars_table.
Выводы
Google BigQuery — простой и в то же время мощнейший инструмент для хранения и обработки данных. Это облачная база данных с поддержкой большинства функций СУБД.
Сервис обходится значительно дешевле содержания, поддержки и администрирования сервера для бесплатных баз данных (MySQL или PostgreSQL).
Надеюсь, мой цикл инструкций для начала работы с Google BigQuery упростит ваши будни.
Успехов в работе с большими данными!
Комментарии:
В этом году часть пользователей предпочла вернуться к привычным покупкам в оффлайн-магазинах....
17 04 2026 21:56:49
Как надолго завоевать доверие покупателя с помощью грамотного email-маркетинга? Примеры обращений к клиенту в рассылках, текст писем для привлечения и благодарности за покупку....
16 04 2026 19:21:42
Как автоматизировать рутину в Google Таблицах с помощью Google Apps Script...
15 04 2026 17:48:56
Пpaктика в режиме «рейтинг онлайн». Новинка Google Рекламы — отчет «Статистика аукционов»....
14 04 2026 2:26:33
Узкие специализированные ниши и широкие, которые, как правило, уже заняты лидерами рынка — в каждой найдется место для онлайн-издания с полезным контентом. Узнать больше!...
13 04 2026 19:23:54
Результаты, которых мы достигли за 2 месяца работы....
12 04 2026 11:12:23
За каждым проектом стоят прежде всего люди. Как часто мы пользуемся сложными системами и не думаем о том, кто их создал и продолжает развивать? Интересно о том, кто и что стоит за «ПланФиксом». Читайте далее!...
11 04 2026 10:50:20
Почему нельзя просто взять и перевести. В худшем случае специализированный текст на иностранном языке должен стать для переводчика дорожной картой, в лучшем — источником вдохновения. Почему? Читайте об этом!...
10 04 2026 2:11:35
Мы решили узнать, как дорого обходятся рекламодателям клики по объявлениям в разных странах и тематиках, чтобы читателям блога было удобнее планировать бюджет на рекламные кампании....
09 04 2026 6:42:11
Импорт из Google ***ytics в Excel — manual по ***ytics Edge....
08 04 2026 7:51:54
Объясняем по пунктам, как создать и правильно настроить DSA c таргетингом на фид и содержание сайта...
07 04 2026 4:19:47
Личный опыт маркетинг-директора Serpstat. Внутренняя перелинковка, работа с контентом, настройка email-рассылок и построение качественного комьюнити помогли нам получить стабильный поток читателей и новых пользователей. Обо всем читайте дальше!...
06 04 2026 23:42:51
Крутые площадки для нового инструмента: контекстщикам на заметку!...
05 04 2026 17:22:57
Футпринт — это признак, по которому можно спалить PBN-сетку сайтов. Это как родинки. Если взять двух парней с родинкой на щеке, то не факт, что они братья. Но если родинки совпадают на щеке, локте и колене, то тут что-то подозрительное...
04 04 2026 23:56:43
Cafe case. Знакомство аудитории с только что открывшимся заведением: online + offline....
03 04 2026 23:29:54
Полтора года работы и 32 тысячи привлеченных подписчиков. Рассказываем о плюсах и минусах продвижения телеграм-канала....
02 04 2026 12:45:57
Используя для продвижения контекстную рекламу, большинство рекламодателей в Украине отдают предпочтение системе Google Ads. Директ однозначно не стоит недооценивать. Почему? Читайте в статье!...
01 04 2026 8:54:15
Почему соотношение данных об использовании приложения важнее, чем количество установок и удалений...
31 03 2026 0:14:45
Распространенные ошибки в XML-фидах Google и Яндекс, CSV-фидах и как исправить их своими силами. Используем Notepad++, отладчик ленты Facebook и Excel. Узнать больше!...
30 03 2026 16:37:41
Как работать с новой функцией, чтобы набирать подписчиков и делать продажи. Подробное и актуальное руководство в 2021 году....
29 03 2026 15:59:28
Хотите говорить с клиентами? Пишите им в телеге. Для этого важно продвижение телеграм-канала. Что и как делать для раскрутки — подробная инструкция....
28 03 2026 6:35:22
Советы специалистам по контекстной рекламе. Технические сложности, которые возникают при работе с Google ***ytics: от ограничений интерфейса до ошибок настройки отслеживания и последующей недостоверности полученных данных, и решения для них...
27 03 2026 8:20:46
SEOmoz создал систему, которая определяет релевантность страницы поисковому запросу....
26 03 2026 3:40:46
Как создавать интеpaктивные рассылки-сайты и чем они хороши...
25 03 2026 12:55:15
«Rework» — одна из самых любимых книг нетпиковцев....
24 03 2026 19:45:50
Как Netpeak работал с сайтом филиала крупного бренда и добился результатов, несмотря на то, что сервера проекта находятся в другой стране....
23 03 2026 10:28:42
И как проверить релевантность на своем сайте. Если речь идет о страницах (сайтах), подразумевается соответствие контента запросу. Чем точнее страница отвечает на запрос, решает задачу пользователя, тем (при прочих равных) выше ее позиция в поисковой выдаче....
22 03 2026 5:35:37
Применяя фишки, можно выделить релевантную аудиторию и продать ей что угодно — от кроссовок до президента....
21 03 2026 12:59:46
Кейс в тематике «грузоперевозки»: как быстрое внедрение доработок помогло привлечь качественный трафик на новый сайт...
20 03 2026 18:14:52
Опрос экспертов. Как правильно искать подрядчиков, которые станут партнерами для вашего бизнеса? Как долго работать с партнерами и не испортить отношения? На что обращать внимание в первую очередь, а на что можно закрыть глаза?...
19 03 2026 19:25:25
Пошагово подключаем скрипт проверки бюджета аккаунтов Google Ads. Скрипт отправляет уведомление на почту и в Telegram — это поможет вовремя пополнить счет. Узнать больше!...
18 03 2026 19:46:12
Всё об оценке эффективности SEO-продвижения с инструментами и рекомендациями...
17 03 2026 21:15:45
Деловой этикет в переписке с бизнес-партнерами, сотрудниками, клиентами. Как заручиться доверием, укрепить деловые отношение и мотивировать подчиненных. Узнать!...
16 03 2026 0:27:10
Гениальный математик создал систему, которая вполне может конкурировать с Google — Wolfram|Alpha. Или нет? Это не поисковик, тогда при чем здесь Гугл и теория вычислимости?...
15 03 2026 21:39:37
Рекомендации и мнения экспертов по одной из самых противоречивых тем украинского интернет-прострaнcтва....
14 03 2026 4:52:59
Как эффективно распределять бюджет и ресурсы на обучение сотрудников. Статья будет полезной для собственников бизнеса и HR-специалистов....
13 03 2026 10:56:14
Flash онлайн объявлений в формат HTML5: нововведение гугл рекламы...
12 03 2026 18:20:53
Считаем SEO-эффект от нового дизайна сайта и работы над usability...
11 03 2026 10:19:32
Корневой каталог это папка, содержащая все файлы на сайте, в том числе системные файлы....
10 03 2026 21:56:25
Гайд по рекламе для SMM-, PPC-специалистов, блогеров и владельцев бизнеса...
09 03 2026 6:49:21
Четкий мануал для настройки Яндекс.Аудиторий от создания сегмента, работы с геолокацией, пикселем аудитории, похожими аудиториями, ретаргетингом и до корректировки ставок...
08 03 2026 7:57:10
Тест, который проходят все соискатели. Никому не показывайте!...
07 03 2026 4:15:33
Как сократить время на создание собственных отчетов, если вы работаете с большими рекламными аккаунтами...
06 03 2026 12:23:19
В семье Leo Burnett - 7750 человек из 84-х стран мира. В Украине всего - 90 творческих единиц....
05 03 2026 5:48:29
Покажем, как продвигать сайты, продающие детскую обувь...
04 03 2026 17:53:34
+ таблица с примерами использования каждой функции....
03 03 2026 9:14:28
Личный кабинет на сайте: что нового во внешнем виде, внутренностях и отчетах, функционале и юзабилити, автоматизации работы с оплатами, интернет-представительстве клиента и для специалистов. Узнайте больше!...
02 03 2026 5:35:52
Подробная инструкция по интеграции с облачной базой данных и сравнение BI-платформ....
01 03 2026 2:28:21
Цель — трафик facebook. Делимся кейсом проекта «Мой город»....
28 02 2026 9:20:36
Какой движок сайта стоит выбрать...
27 02 2026 20:14:47
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::