Коммерческие предприятия постоянно получают огромные объемы данных от сетевых приложений, совершающих множество транзакций, обслуживающих миллионы людей и постоянно растущее число подключенных устройств. Важнейшее условие сохранения конкурентоспособности — способность быстро реагировать на изменения в этих данных. В то же время, компании занимаются сбором, хранением и анализом больших объемов информации, иногда сотен гигабайт в день, используя системы, которые просто не способны справиться с подобным темпом работы.
Мы создали BigQuery, чтобы помочь коммерческим предприятиям справиться с этой проблемой без необходимости инвестировать в сложное дорогостоящее оборудование. Представляем две новые функции, которые смогут упростить их задачу.
Потоковая передача данных в режиме реального времени
Теперь вы можете передавать данные запись за записью с помощью простого API-вызова — tabledata().insertAll()
. Это позволит вам загружать их по мере поступления вместо того, чтобы создавать и содержать системы для кэширования и последующей передачи данных сериями. А самое главное состоит в том, что данные немедленно становятся доступными для анализа.
Использовать потоковую передачу данных в BigQuery легко. Так выглядит пример для Python:
body = {"rows":[
{"json": {"column_name":7.7,}}
]}
response = bigquery.tabledata().insertAll(
projectId=PROJECT_ID,
datasetId=DATASET_ID,
tableId=TABLE_ID,
body=body).execute()
Возможность потоковой передачи данных предоставляется бесплатно на протяжении ознакомительного периода до 1 января 2014 года. После этого за предоставление услуги будет взиматься плата в размере 1 цента за 10 тыс. введенных записей. Существующая пакетная система ввода данных останется бесплатной.
Анализ подмножества таблицы
Стало возможно выборочно анализировать определенные подмножества таблицы, используя простой новый модификатор @<t>
в SQL запросах. Несмотря на то, что функция применима лишь к данным, добавленным за последние 24 часа, она предоставляет дополнительные преимущества. Например, используя ее совместно с функцией потоковой передачи данных в режиме реального времени, вы сможете использовать декораторы таблиц для отслеживания последних 30 минут активности пользователей после запуска новой версии вашего приложения.
Кроме того, мы расширили функционал рабочего окна BigQuery по просьбе многих клиентов, добавив в него статистические функции SUM(), COUNT(), AVG(), MIN(), MAX(), FIRST_VALUE и LAST_VALUE()
, а также стандартные аналитические функции для расчета корреляций и стандартного отклонения COVAR_POP(), COVAR_SAMP(), STDDEV_POP(), STDDEV_SAMP(), VAR_POP() и VAR_SAMP()
.
Для повышения производительности и удобства применения BigQuery были внесены многочисленные изменения в пользовательский интерфейс, в том числе была расширена информационная панель, появляющаяся при выполнении запроса, а также добавлены кнопки выполнения действий в нижней части окна запроса — все это призвано облегчить редактирование, выполнение и сохранение запроса, а также отображение результатов.
Расширенная информационная панель отображает подробную информацию о запросе
Более подробную информацию о новых возможностях сервиса и примеры использования можно получить в Блоге разработчиков и обновленной документации.
Мы с нетерпением ожидаем ваших отзывов о работе с новыми функциями BigQuery — о потоковой передаче данных, полученных от приложений, а также о возможности анализа поведения пользователя в режиме реального времени. Мы надеемся, что вы поделитесь своими мнениями с сообществом на Google+, воспользовавшись хэштегом #BigQuery.
Автор: suviuviuvi