Track
Мой первый опыт с большими данными начался более 10 лет назад, когда я работал инженером-программистом в Ad‑Tech. Тогда наборы данных стали быстро расти и стремительно увеличиваться в объёме. Это было и большой возможностью, и вызовом. Запросы, которые отвечали на базовые, но критически важные вопросы отчётности, внезапно стали занимать часы.
В ответ на это я начал использовать колоночные базы данных, такие как BigQuery, ещё в 2013 году. Поскольку они облачные, мы могли выполнять аналитические нагрузки быстро и экономично, а также при необходимости масштабировать ресурсы. В последние годы я возглавлял большую команду инженеров данных, которая построила хранилище данных на BigQuery объёмом более 10 Пбайт, чтобы идти в ногу с быстро растущим каталогом товаров для дома и расширяющимися аналитическими потребностями.
Сейчас, будучи техническим директором DataCamp, я руковожу различными инженерными и контент-командами, помогая нашим пользователям осваивать и отрабатывать именно эти навыки (среди многих других). Я убеждён, что облачные хранилища данных вроде BigQuery способны сделать многие рабочие процессы гораздо эффективнее. Поэтому я хочу поделиться своим опытом в этом руководстве.
В этом гайде вы узнаете, что такое BigQuery, как он работает и чем отличается от традиционных хранилищ данных. Вы научитесь пользоваться консолью BigQuery, чтобы выполнять запросы к публичным наборам данных Google, на практическом примере запроса к Google Trends для изучения популярных тем.
Кратко
- BigQuery — полностью управляемое, безсерверное хранилище данных Google Cloud, позволяющее выполнять запросы к петабайтам данных с помощью стандартного SQL
- Оно разделяет хранение и вычисления, поэтому каждое масштабируется независимо и без необходимости управлять инфраструктурой
- Бесплатная песочница предоставляет 1 ТиБ запросов в месяц и доступ к публичным наборам данных — без необходимости указывать банковскую карту
- BigQuery использует колоночный формат хранения, оптимизированный для аналитических (OLAP) нагрузок, в отличие от построчных OLTP‑баз данных
- BigQuery ML позволяет создавать и развёртывать модели машинного обучения прямо в хранилище с помощью SQL
Что такое BigQuery?
BigQuery — это полностью управляемое, безсерверное хранилище данных от Google для масштабного хранения и анализа данных. Организации используют его для выполнения аналитических запросов по петабайтам данных с помощью SQL без необходимости управлять инфраструктурой.
Взаимодействовать с BigQuery можно через консоль Google Cloud, инструмент командной строки bq или клиентские библиотеки для Python, Java, Go, Node.js, C#, PHP и Ruby.
В BigQuery также есть встроенное машинное обучение (BigQuery ML), позволяющее создавать и запускать модели ML непосредственно в хранилище с помощью SQL. Можно также импортировать внешне обученные модели из Vertex AI или других фреймворков.
Этот туториал предназначен для аналитиков данных, инженеров данных и администраторов хранилищ, которые начинают работать с BigQuery. Если захотите углубиться дальше, наш курс Introduction to BigQuery охватывает оптимизацию запросов и продвинутые рабочие процессы. Также вы можете изучить наш гайд по BigQuery Sandbox и полное руководство по построению хранилища данных в GCP.
Традиционное и облачное хранилище данных
Традиционное хранилище данных разворачивается на собственных серверах, как правило, требует высоких первоначальных затрат, квалифицированной команды для его обслуживания и тщательного планирования для удовлетворения растущего спроса из‑за жёстких ограничений масштабирования ресурсов в традиционных дата‑центрах.
Облачное хранилище данных, напротив, управляется и размещается у облачного провайдера. Примеры: Google BigQuery, Amazon Redshift и Snowflake.
Преимущества облачных хранилищ данных
Обычно облачное хранилище данных имеет ряд преимуществ перед традиционными:
- Они изначально рассчитаны на масштаб и используют гибкость облачной среды
- Обеспечивают повышенную скорость и производительность
- Гибкое ценообразование и облачная среда позволяют оптимизировать затраты (например, уменьшать масштаб при низком спросе)
- Могут быть полностью или частично управляемыми, что снижает операционные расходы.
Построчные и колоночные базы данных
Пример построчной базы данных:

Пример колоночной базы данных:

Построчные базы данных хорошо подходят для выборки полных строк, вставки записей и обновлений. Но им сложно справляться с аналитическими нагрузками.
Например, если вы запрашиваете три столбца из таблицы с 50 столбцами, построчная база данных всё равно считывает все 50 столбцов для каждой строки. Колоночная база данных читает только нужные три столбца, что значительно быстрее для аналитики, такой как прогнозирование ассортимента или разовые отчёты.
Построчные базы данных обычно лучше подходят для обработки онлайн‑транзакций (OLTP), а колоночные — для онлайн‑аналитической обработки (OLAP).
OLTP и OLAP
- OLTP — это тип систем баз данных, используемых в транзакционных приложениях. «Онлайн» означает, что такие системы должны отвечать на запросы пользователей и обрабатывать их в реальном времени (то есть обрабатывать транзакции).
- Этот термин противопоставляется онлайн‑аналитической обработке (OLAP), которая фокусируется на анализе данных.
Итоги сравнения:
|
Построчная база данных |
Колоночная база данных |
||||||
|
Хранение |
По строкам |
По столбцам |
|||||
|
Извлечение данных |
Полные записи |
Соответствующие столбцы |
|||||
|
Типичное применение |
OLTP |
OLAP |
|||||
|
Быстрые операции |
Вставка, обновления, выборка по ключу |
Запросы для отчётности |
|||||
|
Загрузка данных |
Обычно по одной записи |
Обычно пакетно |
|||||
|
Популярные варианты |
Postgres, MySQL, Oracle, Microsoft SQL Server |
Snowflake, Google BigQuery, Amazon Redshift |
|||||
Как работает BigQuery?
BigQuery разделяет вычислительный движок и хранилище, поэтому каждое может масштабироваться независимо. Результат: вы можете выполнять запросы к терабайтам данных за секунды и к петабайтам — за минуты.
Когда BigQuery выполняет запрос, движок распределяет работу параллельно, сканирует соответствующие таблицы в хранилище, объединяет результаты и возвращает итоговый набор данных.

Ключевые возможности BigQuery в 2026 году
С момента запуска BigQuery Google добавил ряд функций, которые выводят его за рамки традиционного хранилища данных:
- BigQuery ML — создание, обучение и развёртывание моделей машинного обучения с помощью SQL. Поддерживает линейную регрессию, классификацию, прогнозирование временных рядов и многое другое.
- Gemini в BigQuery — ИИ‑помощник для написания запросов, понимания схем и получения аналитических инсайтов на естественном языке.
- BigQuery Studio — единое рабочее пространство для SQL, Python‑ноутбуков и Spark внутри консоли BigQuery.
- Федеративные запросы — выполнение запросов к данным в Cloud SQL, Cloud Storage, Bigtable и других источниках без перемещения их в BigQuery.
- BigQuery Omni — запуск аналитики BigQuery по данным, хранящимся в AWS или Azure, без копирования их в Google Cloud.
С чего начать работу с BigQuery
Песочница BigQuery позволяет попробовать BigQuery без указания банковской карты и создания платёжного аккаунта. В этом разделе я покажу, как получить доступ к BigQuery и настроить ваш первый проект с помощью песочницы.
Доступ к BigQuery осуществляется через Google Cloud Console. Вам понадобится войти под аккаунтом Google (или создать его). После входа появится приветственный экран:

Найти BigQuery можно в левой панели меню. Нажмите — и вы попадёте на экран ниже:

Использование песочницы BigQuery
Чтобы использовать песочницу BigQuery, сначала создайте проект, нажав «Select Project».

Затем нажмите «New Project»:

Нужно указать название проекта; в этом руководстве мы используем datacamp-guide-project

На странице BigQuery теперь отображается уведомление о песочнице, подтверждающее, что вы успешно включили BigQuery Sandbox.

Теперь, когда песочница BigQuery включена, вы можете использовать новый проект для загрузки и выполнения запросов к данным, а также для запросов к публичным наборам данных Google.
Создание набора данных и таблицы
Прежде чем создавать таблицу, в новом проекте нужно создать набор данных. Набор данных — это контейнер верхнего уровня для организации и управления доступом к набору таблиц и представлений. Чтобы создать набор данных, нажмите значок «Actions» у проекта:

Для целей этого руководства в поле «Dataset ID» укажем «main».

Создать таблицу можно с помощью SQL. BigQuery использует GoogleSQL, совместимый с ANSI.
CREATE TABLE datacamp-guide-project.main.users (
id INT64 NOT NULL,
first_name STRING NOT NULL,
middle_name STRING,
last_name STRING NOT NULL,
active_account BOOL NOT NULL
);
Также можно использовать интерфейс консоли BigQuery:

Примечание: В среде песочницы вставка данных недоступна. Если хотите попробовать вставлять данные, включите бесплатную пробную версию. В следующих разделах мы сосредоточимся на выполнении запросов к публичным наборам данных, доступным в Google Cloud.
Запрос к публичному набору данных через консоль BigQuery
Чтобы выполнить запрос к публичному набору данных, выполните шаги ниже:
1. Нажмите «Add» рядом с Explorer.

2. Затем выберите набор данных.

3. Введите в поиск «Google Trends» и выберите Google Trends, затем нажмите кнопку «View dataset».

4. Появится bigquery-public-data с длинным списком наборов данных. Отметьте bigquery-public-data звёздочкой, чтобы он закрепился в проводнике.

Практический пример с набором данных Google Trends
Мы будем использовать таблицу top_terms:

Откройте таблицу top_terms и изучите вкладки Details и Preview, чтобы лучше понять данные top_terms.


Можно выполнить запрос к этому набору данных. Пример ниже выбирает термины, которые занимали первую позицию за последние две недели:
SELECT
term
FROM
bigquery-public-data.google_trends.top_terms
WHERE
rank = 1
AND refresh_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK)
GROUP BY
term
Результаты (будут различаться):

Цены на BigQuery
Стоимость BigQuery включает две основные составляющие: вычисления (обработка запросов) и хранение.
| Компонент | Бесплатный уровень | Платная стоимость |
|---|---|---|
| Запросы по требованию | 1 ТиБ в месяц | $6.25 за ТиБ |
| Хранение (активное) | 10 ГиБ | $0.02 за ГиБ/мес |
| Хранение (долгосрочное) | 10 ГиБ | $0.01 за ГиБ/мес |
| Потоковые вставки | N/A | $0.05 за 200 МБ |
Для команд с предсказуемыми нагрузками BigQuery также предлагает фиксированную модель оплаты через резервирование ресурсов (BigQuery Editions). Актуальные ставки смотрите на официальной странице с ценами.
Итоги
BigQuery — один из самых доступных способов начать работу с облачными хранилищами данных. Песочница предоставляет безопасную среду для экспериментов, а 1 ТиБ бесплатных запросов в месяц позволяет изучать публичные наборы данных без затрат. Когда потребуется больше, бесплатная пробная версия Google Cloud предоставляет кредиты на $300.
Если хотите развить полученные здесь навыки, рекомендую курс Introduction to BigQuery на DataCamp — он охватывает оптимизацию запросов и работу с большими наборами данных. Для более широкого взгляда на инженерию данных трек Data Engineer in Python охватывает весь конвейер — от загрузки до хранилища.
Также вы можете сравнить BigQuery с альтернативами в наших материалах BigQuery vs Redshift и BigQuery vs Snowflake, а для подготовки к собеседованиям — в гайде BigQuery interview questions.