tutorial bigquery google-cloud-platform google-bigquery cloud bigtable google-cloud-spanner

google cloud platform - tutorial - ¿Cuál es la diferencia entre BigQuery y BigTable?



bigquery tutorial (4)

BigQuery y Cloud Bigtable no son lo mismo. Bigtable es una base de datos NoSQL basada en Hadoop, mientras que BigQuery es un datawarehouse basado en SQL. Tienen escenarios de uso específicos.

En términos muy cortos y simples;

  • Si no necesita soporte para transacciones ACID o si sus datos no están altamente estructurados, considere Cloud Bigtable.
  • Si necesita consultas interactivas en un sistema de procesamiento analítico en línea (OLAP), considere BigQuery.

¿Hay alguna razón por la cual alguien usaría BigTable en lugar de BigQuery? Ambos parecen admitir operaciones de lectura y escritura, y este último también ofrece operaciones avanzadas de ''consulta''.

Necesito desarrollar una red de afiliados (por lo tanto, necesito hacer un seguimiento de los clics y las "ventas"), así que estoy bastante confundido por la diferencia porque bigQuery parece ser simplemente bigTable con una API mejor.


Elegir qué usar

Mesa grande

Google BigTable es la solución de almacenamiento en la nube de Google para el acceso a datos de baja latencia. Originalmente se desarrolló en 2004 y se creó en el Sistema de archivos de Google (GFS). Hay un artículo sobre BigTable: Bigtable: un sistema de almacenamiento distribuido para datos estructurados. Ahora es ampliamente utilizado en muchos servicios centrales de Google como Google Search, Google Maps y Gmail. Está diseñado en la arquitectura NoSQL, pero aún puede usar el formato de datos basado en filas. Con lectura / escritura de datos de menos de 10 milisegundos, es bueno para aplicaciones que tienen una ingestión frecuente de datos. Puede ser escalable a cientos de petabytes y manejar millones de operaciones por segundo.

BigTable es compatible con HBase 1.0 API a través de extensiones. Cualquier movimiento de HBase será más fácil. BigTable no tiene interfaz SQL y solo puede usar API Go Put / Get / Delete filas individuales o ejecutar operaciones de escaneo. BigTable se puede integrar fácilmente con otras herramientas de GCP, como Cloud Dataflow y Dataproc. BigTable es también la base de Cloud Datastore.

A diferencia de otras nubes, el cómputo y el almacenamiento de GCP están separados. Debe considerar las siguientes tres partes al calcular el costo. 1. El tipo de instancia de Cloud y el número de nodos en la instancia. 2. La cantidad total de almacenamiento que usan sus tablas. 3. La cantidad de ancho de banda de red utilizada. Tenga en cuenta que una parte del tráfico de la red es gratuita.

Es bueno y malo. Lo bueno es que no necesita pagar el costo de cómputo si su sistema está inactivo y solo paga el costo de almacenamiento. Lo malo es que no es fácil pronosticar su uso de cómputo si tiene un conjunto de datos muy grande.

BigQuery

BigQuery es la solución de almacenamiento de datos basada en la nube de Google. A diferencia de BigTable, apunta a datos en una imagen general y puede consultar un gran volumen de datos en poco tiempo. Como los datos se almacenan en formato de datos en columnas, es mucho más rápido escanear grandes cantidades de datos en comparación con BigTable. BigQuery le permite escalar a petabytes y es un gran almacén de datos empresariales para análisis. BigQuery no tiene servidor. La computación sin servidor significa que los recursos informáticos se pueden ampliar a pedido. Beneficia a los usuarios desde el uso cero del servidor hasta el uso a gran escala sin involucrar a los administradores y administrar la infraestructura. Según Google, BigQuery puede escanear Terabytes de datos en segundos y Petabytes de datos en minutos. Para la ingestión de datos, BigQuery le permite cargar datos de Google Cloud Storage o Google Cloud DataStore, o transmitirlos al almacenamiento de BigQuery.

Sin embargo, BigQuery es realmente para el tipo de consulta OLAP y escanea una gran cantidad de datos y no está diseñado para consultas de tipo OLTP. Para pequeñas lecturas / escrituras, toma aproximadamente 2 segundos mientras que BigTable toma aproximadamente 9 milisegundos para la misma cantidad de datos. BigTable está mucho mejor para consultas de tipo OLTP. Aunque BigQuery admite operaciones atómicas de una sola fila, carece de soporte de transacciones entre filas.

Consulte estos para obtener más información Enlace 1 Enlace 2 `` Enlace 3


Esto puede ayudar un poco a decidir entre los diferentes almacenes de datos que ofrece la nube de Google (¡Descargo de responsabilidad! Copiado de la página de Google Cloud)

Si su requisito es una base de datos en vivo, BigTable es lo que necesita (aunque en realidad no es un sistema OLTP ). Si se trata más de un propósito de análisis, ¡ BigQuery es lo que necesita!

Piense en OLTP vs OLAP ; O si está familiarizado con Cassandra vs Hadoop, BigTable equivale aproximadamente a Cassandra, BigQuery equivale aproximadamente a Hadoop (De acuerdo, no es una comparación justa, pero se entiende la idea)

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

Nota

Tenga en cuenta que Bigtable no es una base de datos relacional y no admite consultas SQL ni JOIN , ni admite transacciones de varias filas. Además, no es una buena solución para pequeñas cantidades de datos. Si desea un OLTP RDBMS, es posible que deba mirar cloudSQL (mysql / postgres) o spanner.

Perspectiva de costos

https://.com/a/34845073/6785908 . Citando las partes relevantes aquí.

El costo general se reduce a la frecuencia con la que ''consultará'' los datos. Si es una copia de seguridad y no repites eventos con demasiada frecuencia, será muy barato. Sin embargo, si necesita reproducirlo diariamente una vez, comenzará a activar los 5 $ / TB escaneados muy fácilmente. También nos sorprendió lo baratos que eran los insertos y el almacenamiento, pero esto es frecuente porque Google espera que ejecutes consultas costosas en algún momento. Sin embargo, tendrás que diseñar alrededor de algunas cosas. Por ejemplo, las inserciones de transmisión AFAIK no tienen garantías de que se escriban en la tabla y debe sondear frecuentemente en la cola de la lista para ver si realmente se escribió. Sin embargo, el seguimiento se puede hacer de manera eficiente con el decorador de tablas de rango de tiempo (sin pagar por escanear todo el conjunto de datos).

Si no le importa el orden, incluso puede incluir una tabla de forma gratuita. No es necesario ejecutar una ''consulta'' entonces.

Editar 1

Cloud Spanner es relativamente joven, pero es poderoso y prometedor. Al menos, Google Marketing afirma que sus características son las mejores de ambos mundos (RDBMS tradicional y noSQL)

Sé que es un poco tarde para responder, pero agregarlo en caso de que pueda ayudar a alguien más en el futuro.


La diferencia es básicamente esta:

BigQuery es un motor de consulta para conjuntos de datos que no cambian mucho o cambian al agregarlos. Es una gran opción cuando sus consultas requieren un "escaneo de tabla" o la necesidad de buscar en toda la base de datos. Piensa sumas, promedios, recuentos, agrupaciones. BigQuery es lo que utiliza cuando ha recopilado una gran cantidad de datos y necesita hacer preguntas al respecto.

BigTable es una base de datos. Está diseñado para ser la base de una aplicación grande y escalable. Use BigTable cuando cree cualquier tipo de aplicación que necesite leer y escribir datos, y la escala es un problema potencial.