BigQuery
BigQuery — це безсерверне сховище даних[1], для інтерактивного широкомасштабного аналізу великих наборів даних. Може використовуватись через веб інтерфейс, інтерфейс командного рядка та API. Оплата здійснюється за кількість терабайт даних опрацьованих при виконанні запитів.[1]
BigQuery | |
---|---|
Посилання | cloud.google.com/products/bigquery/ |
Тип | Інфраструктура як послуга |
Реєстрація | Потрібна |
Мови | Англійська |
Власник | |
Започатковано | 19 травня 2010 |
Стан | Активний |
Історія
Після обмеженого періоду тестування в 2010 році BigQuery став доступним широкому загалу у листопаді 2011 року на конференції Google Atmosphere.[2] У 2014 році MapR представив проект Apache Drill для вирішення подібних проблем.[3] У квітні 2016 року європейські користувачі зазнали 12-годинного збою у роботі служби.[4] У травні 2016 року була оголошена підтримка для Google Sheets.[5]
Будова
BigQuery використовує ряд технологій Google, таких як рушій виконання запитів Dremel[6][7], систему керування кластером Google Borg, файлову систему Colossus, формат даних Capacitor та мережу Jupiter. Архітектура відокремлює зберігання даних від їх обробки, що дозволяє окремо маштабувати зберігання і запити[1].
Зберігання
BigQuery підтримує як пакетний або потоковий режим запису вхідних даних. Для зберігання даних використовується колонковий формат Capacitor. Кожна колонка зберігається в окремому файлі, що дозволяє ефективніше їх стискати і читати. Після кодування дані записуються в Colossus, яка є наступницею Google File System, і дозволяє читати зі швидкістю до терабайта за секунду.[1]
Зовнішні джерела даних
Таблиці які зберігає BigQuery називають внутрішніми. BigQuery також підтримує запити до зовнішніх таблиць, які можуть зберігатись у Bigtable, GCS, чи Google Drive[1]. Запити до зовнішніх даних повільніші.
Виконання запитів
Для виконання запитів система керування кластером Google Borg запускає тисячі паралельних робіт (англ. jobs) Dremel, кожна з яких може читати дані своєї частини таблиці, фільтрувати та агрегувати їх і передавати іншим роботам. Передача даних між ними здійснюється за допомогою мережі Jupiter, яка може передавати зі швидкістю до 1 петабіта на секунду.[1]
Особливості
- Управління даними — створення та видалення таблиць на основі JSON-схеми, імпорт даних у форматі CSV або JSON з Google Storage.
- Запити — для запитів використовується стандарт SQL:2011[8], а результат повертається у форматі JSON з максимальним розміром відповіді приблизно 128 MB або необмеженого розміру, коли обрано опцію великих запитів.[9]
- Інтеграція — BigQuery можна використовувати з Google Apps Script[10] (наприклад, як скрипт для Google Docs) або будь-якою мовою, яка працює з REST API або клієнтськими бібліотеками[11].
- Контроль доступу — це можливість надавати доступ до даних довільним особам, групам або будь-кому.
Користувацькі функції
BigQuery підтримує функції задані користувачем мовою JavaScript.[12]
Див. також
- Amazon Athena
- Apache Drill
- Amazon Redshift
Примітки
- A Deep Dive Into Google BigQuery Architecture. Процитовано 6 лютого 2019.
- Iain Thomson (14 листопада 2011). Google opens BigQuery for cloud analytics: Dangles free trial to lure doubters. Процитовано 26 серпня 2016.
- 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. Процитовано 26 серпня 2016.
- Simon Sharwood (7 квітня 2016). Google Euro-cloud glitch. Процитовано 26 серпня 2016.
- Jordan Novet (6 травня 2016). Google BigQuery now lets you analyze data from Google Sheets. Процитовано 26 серпня 2016.
- 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).
- Kazunori Sato (2012). An Inside Look at Google BigQuery. Google. Процитовано 26 серпня 2016.
- SQL Reference. Процитовано 26 червня 2017.
- Quota Policy. Процитовано 26 червня 2017.
- BigQuery Service | Apps Script | Google Developers. 15 березня 2018. Процитовано 23 квітня 2018.
- BigQuery Client Libraries. Процитовано 26 червня 2017.
- Standard SQL User-Defined Functions | BigQuery. Google Cloud. Процитовано 14 лютого 2019.