BigQuery

BigQuery
Посиланняcloud.google.com/products/bigquery/
ТипІнфраструктура як послуга
РеєстраціяПотрібна
МовиАнглійська
ВласникGoogle
Започатковано19 травня 2010; 14 років тому (2010-05-19)
СтанАктивний

BigQuery — це безсерверне сховище даних, що належить Google[1], для інтерактивного широкомасштабного аналізу великих наборів даних. Може використовуватись через веб інтерфейс, інтерфейс командного рядка та API. Оплата здійснюється за кількість терабайт даних опрацьованих при виконанні запитів.[1]

Історія

[ред. | ред. код]

Після обмеженого періоду тестування в 2010 році BigQuery став доступним широкому загалу у листопаді 2011 року на конференції Google Atmosphere.[2] У 2014 році MapR[en] представив проект Apache Drill для вирішення подібних проблем.[3] У квітні 2016 року європейські користувачі зазнали 12-годинного збою у роботі служби.[4] У травні 2016 року була оголошена підтримка для Google Sheets.[5]

Будова

[ред. | ред. код]

BigQuery використовує ряд технологій Google, таких як рушій виконання запитів Dremel[6][7], систему керування кластером Google Borg, файлову систему Colossus, формат даних Capacitor та мережу Jupiter. Архітектура відокремлює зберігання даних від їх обробки, що дозволяє окремо маштабувати зберігання і запити[1].

Зберігання

[ред. | ред. код]

BigQuery підтримує як пакетний або потоковий режим запису вхідних даних. Для зберігання даних використовується колонковий формат[en] Capacitor. Кожна колонка зберігається в окремому файлі, що дозволяє ефективніше їх стискати і читати. Після кодування дані записуються в Colossus, яка є наступницею Google File System, і дозволяє читати зі швидкістю до терабайта за секунду.[1]

Зовнішні джерела даних

[ред. | ред. код]

Таблиці які зберігає BigQuery називають внутрішніми. BigQuery також підтримує запити до зовнішніх таблиць, які можуть зберігатись у Bigtable, GCS, чи Google Drive[1]. Запити до зовнішніх даних повільніші.

Виконання запитів

[ред. | ред. код]

Для виконання запитів система керування кластером Google Borg запускає тисячі паралельних робіт (англ. jobs) Dremel, кожна з яких може читати дані своєї частини таблиці, фільтрувати та агрегувати їх і передавати іншим роботам. Передача даних між ними здійснюється за допомогою мережі Jupiter, яка може передавати зі швидкістю до 1 петабіта на секунду.[1]

Особливості

[ред. | ред. код]
  • Управління даними — створення та видалення таблиць на основі JSON-схеми, імпорт даних у форматі CSV або JSON з Google Cloud Storage.
  • Запити — для запитів використовується стандарт SQL:2011[8], а результат повертається у форматі JSON з максимальним розміром відповіді приблизно 128 MB або необмеженого розміру, коли обрано опцію великих запитів.[9]
  • Інтеграція — BigQuery можна використовувати з Google Apps Script[10] (наприклад, як скрипт для Google Docs) або будь-якою мовою, яка працює з REST API або клієнтськими бібліотеками[11].
  • Контроль доступу — це можливість надавати доступ до даних довільним особам, групам або будь-кому.

Користувацькі функції

[ред. | ред. код]

BigQuery підтримує функції задані користувачем[en] мовою JavaScript.[12]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. а б в г д е A Deep Dive Into Google BigQuery Architecture. Архів оригіналу за 7 лютого 2019. Процитовано 6 лютого 2019.
  2. Iain Thomson (14 листопада 2011). Google opens BigQuery for cloud analytics: Dangles free trial to lure doubters. Архів оригіналу за 15 вересня 2016. Процитовано 26 серпня 2016.
  3. Neil McAllister (16 вересня 2014). Is your data boring? MapR wants you to bore it back with Apache Drill: New release adds support for Google-y SQL-on-Hadoop tech. Архів оригіналу за 15 вересня 2016. Процитовано 26 серпня 2016.
  4. Simon Sharwood (7 квітня 2016). Google Euro-cloud glitch. Архів оригіналу за 15 вересня 2016. Процитовано 26 серпня 2016.
  5. Jordan Novet (6 травня 2016). Google BigQuery now lets you analyze data from Google Sheets. Архів оригіналу за 8 вересня 2016. Процитовано 26 серпня 2016.
  6. Sergey Melnik; Andrey Gubarev; Jing Jing Long; Geoffrey Romer; Shiva Shivakumar; Matt Tolton; Theo Vassilakis (2010). Dremel: Interactive Analysis of Web-Scale Datasets. Proc. of the 36th International Conference on Very Large Data Bases (VLDB). Архів оригіналу за 28 жовтня 2010. Процитовано 10 липня 2018.
  7. Kazunori Sato (2012). An Inside Look at Google BigQuery (PDF). Google. Архів оригіналу (PDF) за 3 вересня 2016. Процитовано 26 серпня 2016.
  8. SQL Reference. Архів оригіналу за 7 квітня 2017. Процитовано 26 червня 2017.
  9. Quota Policy. Архів оригіналу за 15 липня 2017. Процитовано 26 червня 2017.
  10. BigQuery Service | Apps Script | Google Developers. 15 березня 2018. Архів оригіналу за 3 квітня 2019. Процитовано 23 квітня 2018.
  11. BigQuery Client Libraries. Архів оригіналу за 11 лютого 2017. Процитовано 26 червня 2017.
  12. Standard SQL User-Defined Functions | BigQuery. Google Cloud. Архів оригіналу за 15 березня 2019. Процитовано 14 лютого 2019.

Посилання

[ред. | ред. код]