Какая разница между BigQuery и BigTable?

Есть ли причина, почему кто-то использовал BigTable вместо BigQuery? Оба, похоже, поддерживают операции чтения и записи с последним, предлагая также расширенные операции "Запрос".

Мне нужно разработать партнерскую сеть (таким образом, мне нужно отслеживать клики и "продажи" ), поэтому я довольно смущен этой разницей, потому что bigQuery, кажется, просто bigTable с лучшим API.

Ответ 1

Разница в основном такова:

BigQuery - это механизм запросов для наборов данных, которые не сильно меняются или изменяются путем добавления. Это отличный выбор, когда ваши запросы требуют "сканирование таблицы" или необходимость просмотра всей базы данных. Думайте о суммах, средних, счетах, группах. BigQuery - это то, что вы используете, когда собрали большой объем данных, и вам нужно задавать вопросы об этом.

BigTable - это база данных. Он призван стать основой для широкого масштабируемого применения. Используйте BigTable, когда вы делаете какое-либо приложение, которое должно читать и писать данные, а масштаб - потенциальная проблема.

Ответ 2

Это может немного помочь в выборе между различными хранилищами данных, которые предлагает облако Google (Disclaimer! Скопировано со страницы Google Cloud)

Google Cloud - GCP database options decision flowchart

Если вам требуется живая база данных, вам нужна BigTable (хотя на самом деле это не OLTP- система). Если это скорее цель аналитики, то BigQuery - это то, что вам нужно!

Подумайте о OLTP против OLAP; Или, если вы знакомы с Cassandra vs Hadoop, BigTable примерно приравнивается к Cassandra, BigQuery примерно приравнивается к Hadoop (Согласен, это не честное сравнение, но вы поняли идею)

https://cloud.google.com/images/storage-options/flowchart.svg

Заметка

Помните, что Bigtable не является реляционной базой данных и не поддерживает запросы SQL или JOIN, а также не поддерживает многострочные транзакции. Кроме того, это не очень хорошее решение для небольших объемов данных. Если вам нужна RDBMS OLTP, вам, возможно, придется взглянуть на cloudSQL (mysql/postgres) или на гаечный ключ.

Стоимость Перспектива

fooobar.com/questions/334228/.... Цитирование соответствующих частей здесь.

Общая стоимость сводится к тому, как часто вы будете "запрашивать" данные. Если это резервная копия, и вы не будете воспроизводить события слишком часто, это будет очень дешево. Однако, если вам нужно будет воспроизводить его один раз в день, вы начнете очень легко запускать отсканированные 5 $/ТБ. Мы также были удивлены тем, насколько дешевыми были вставки и хранилище, но это случается, потому что Google ожидает, что вы в какой-то момент будете выполнять на них дорогие запросы. Вам придется придумать несколько вещей, хотя. Например, потоковые вставки AFAIK не гарантируют, что они будут записаны в таблицу, и вам приходится часто опрашивать в конце списка, чтобы убедиться, что он действительно записан. Хвост может быть эффективно выполнен с помощью декоратора таблицы временного диапазона (не оплачивая сканирование всего набора данных).

Если вы не заботитесь о порядке, вы можете даже бесплатно перечислить столик. Нет необходимости запускать запрос.

Редактировать 1

Облачный гаечный ключ относительно молодой, но мощный и перспективный. По крайней мере, маркетинг Google утверждает, что его функции являются лучшими в обоих мирах (традиционная RDBMS и noSQL)

enter image description here

Я знаю, что уже немного поздно, чтобы ответить, но добавление, если это может помочь кому-то еще в будущем.

Ответ 3

Выбор того, что использовать enter image description here

Большой стол

Google BigTable - это облачное хранилище Googles для доступа к данным с малой задержкой. Первоначально он был разработан в 2004 году и был построен на файловой системе Google (GFS). Есть одна статья о BigTable: Bigtable: распределенная система хранения для структурированных данных. Сейчас он широко используется во многих основных сервисах Googles, таких как Google Search, Google Maps и Gmail. Он разработан в архитектуре NoSQL, но все еще может использовать формат данных на основе строк. При чтении/записи данных менее 10 миллисекунд это хорошо для приложений, которые часто принимают данные. Он может масштабироваться до сотен петабайт и обрабатывать миллионы операций в секунду.

BigTable совместим с HBase 1.0 API через расширения. Любое движение от HBase будет проще. BigTable не имеет интерфейса SQL, и вы можете использовать только API go Put/Get/Delete отдельные строки или запустить операции сканирования. BigTable может быть легко интегрирован с другими инструментами GCP, такими как Cloud Dataflow и Dataproc. BigTable также является основой Cloud Datastore.

В отличие от других облаков, вычисления и хранилище GCP разделены. Вы должны учитывать следующие три части при расчете стоимости. 1. Тип экземпляра Cloud и количество узлов в экземпляре. 2. Общий объем хранения ваших таблиц. 3. Количество используемой пропускной способности сети. Обратите внимание: некоторая часть сетевого трафика является бесплатной.

Это хорошо и плохо. Хорошая часть заключается в том, что вам не нужно платить за вычислительные расходы, если ваша система простаивает, а вы платите только за хранение. Плохая часть заключается в том, что прогнозировать использование вычислительных ресурсов нелегко, если у вас очень большой набор данных. enter image description here

BigQuery

BigQuery - это решение Googles Cloud для хранения данных. В отличие от BigTable, он нацелен на данные в целом и может за короткое время запросить огромный объем данных. Поскольку данные хранятся в виде столбчатых данных, при сканировании больших объемов данных это происходит намного быстрее, чем в BigTable. BigQuery позволяет масштабировать до петабайта и является отличным хранилищем корпоративных данных для аналитики. BigQuery без сервера. Бессерверные вычисления означают, что вычислительные ресурсы могут быть ускорены по требованию. Это дает пользователям преимущество от нулевого использования сервера до полномасштабного использования без привлечения администраторов и управления инфраструктурой. По данным Google, BigQuery может сканировать терабайты данных в считанные секунды и петабайты данных в считанные минуты. Для загрузки данных BigQuery позволяет загружать данные из Google Cloud Storage или Google Cloud DataStore или передавать в хранилище BigQuery.

Однако BigQuery действительно предназначен для запросов типа OLAP и сканирует большой объем данных и не предназначен для запросов типа OLTP. Для небольших операций чтения/записи это занимает около 2 секунд, в то время как BigTable занимает около 9 миллисекунд для того же объема данных. BigTable намного лучше для запросов типа OLTP. Хотя BigQuery поддерживает элементарные однострочные операции, в нем отсутствует поддержка транзакций между рядами. enter image description here

Смотрите их для получения дополнительной информации Ссылка 1 Ссылка 2 '' Ссылка 3

Ответ 4

BigQuery и Cloud Bigtable - это не одно и то же. Bigtable - это база данных NoSQL на основе Hadoop, а BigQuery - хранилище данных на основе SQL. У них есть конкретные сценарии использования.

В очень короткие и простые сроки;

  • Если вам не требуется поддержка транзакций ACID или если ваши данные не очень структурированы, рассмотрите Cloud Bigtable.
  • Если вам нужны интерактивные запросы в системе онлайн-аналитической обработки (OLAP), рассмотрите BigQuery.