BigQuery | |
---|---|
Посилання | cloud.google.com/products/bigquery/ |
Тип | Інфраструктура як послуга |
Реєстрація | Потрібна |
Мови | Англійська |
Власник | |
Започатковано | 19 травня 2010 |
Стан | Активний |
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]
BigQuery підтримує функції задані користувачем[en] мовою JavaScript.[12]