0% encontró este documento útil (0 votos)
284 vistas14 páginas

Introducción a Google BigQuery

Este documento describe Google BigQuery, una herramienta de Google para almacenar y consultar grandes conjuntos de datos. Explica que BigQuery permite consultar billones de filas de datos en segundos y que es una solución orientada al análisis de datos en línea (OLAP). También resume las características clave de BigQuery como su escalabilidad, velocidad, simplicidad y seguridad.

Cargado por

jesus alamilla
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
284 vistas14 páginas

Introducción a Google BigQuery

Este documento describe Google BigQuery, una herramienta de Google para almacenar y consultar grandes conjuntos de datos. Explica que BigQuery permite consultar billones de filas de datos en segundos y que es una solución orientada al análisis de datos en línea (OLAP). También resume las características clave de BigQuery como su escalabilidad, velocidad, simplicidad y seguridad.

Cargado por

jesus alamilla
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Google BigQuery

Luis Villalba 59191

Universidad Católica de Asunción, Departamento de Ciencias y Tecnologı́as,


Sede Santa Librada, Asunción, Paraguay
[Link]@[Link]

Abstract. En este paper estaremos adentrándonos en la herramienta


que ofrece Google para manejo de datos a grande escala, datos que no
pueden ser procesados convencionalmente, Google BigQuery.

Introducción
Qué es Google BigQuery? Google BigQuery es un servicio web de cloud comput-
ing. Es una herramienta bastante atractiva por su facilidad de uso, su funcional-
idad y su precio. Ideal para aquellas empresas que no poseen la infraestructura
necesaria para procesar una gran cantidad de información.
El servicio web de Google BigQuery permite realizar el almacenamiento y con-
sulta de conjuntos de datos masivos con billones de filas. Su uso es sencillo y
permite a los desarrolladores y analistas de negocios estudiar bases de datos
en un tiempo casi real. Orientado directamente al análisis de datos, es decir si
vamos al marco conceptual estamos hablando de una solución con orientación
OLAP (On-Line Analytical Processing).

En siguiente documento tiene como objetivo el de conocer esta herramienta con


unos previos conceptos antes de tocar el tema.
2 Google BigQuery

1 Big Data

Qué es Big Data y porqué se ha vuelto tan importante? Pues bien, en términos
generales podrı́amos referirnos como a la tendencia en el avance de la tecnologı́a
que ha abierto las puertas hacia un nuevo enfoque de entendimiento y toma
de decisiones, la cual es utilizada para describir enormes cantidades de datos
(estructurados, no estructurados y semi estructurados) que tomarı́a demasiado
tiempo y serı́a muy costoso cargarlos a un base de datos relacional para su
análisis. De tal manera que, el concepto de Big Data aplica para toda aquella
información que no puede ser procesada o analizada utilizando procesos o her-
ramientas tradicionales. Sin embargo, Big Data no se refiere a alguna cantidad
en especı́fico, ya que es usualmente utilizado cuando se habla en términos de
petabytes y exabytes de datos. Entonces Cuánto es demasiada información de
manera que sea elegible para ser procesada y analizada utilizando Big Data?
Analicemos primeramente en términos de bytes:
Gigabyte = 109 = 1, 000, 000, 000
Terabyte = 1012 = 1, 000, 000, 000, 000
Petabyte = 1015 = 1, 000, 000, 000, 000, 000
Exabyte = 1018 = 1, 000, 000, 000, 000, 000, 000
Además del gran volumen de información, esta existe en una gran variedad de
datos que pueden ser representados de diversas maneras en todo el mundo, por
ejemplo de dispositivos móviles, audio, video, sistemas GPS, incontables sen-
sores digitales en equipos industriales, automóviles, medidores eléctricos, vele-
tas, anemómetros, etc., los cuales pueden medir y comunicar el posicionamiento,
movimiento, vibración, temperatura, humedad y hasta los cambios quı́micos que
sufre el aire, de tal forma que las aplicaciones que analizan estos datos requieren
que la velocidad de respuesta sea lo demasiado rápida para lograr obtener la
información correcta en el momento preciso. Estas son las caracterı́sticas princi-
pales de una oportunidad para Big Data. Es importante entender que las bases
de datos convencionales son una parte importante y relevante para una solución
analı́tica. De hecho, se vuelve mucho más vital cuando se usa en conjunto con la
plataforma de Big Data. Pensemos en nuestras manos izquierda y derecha, cada
una ofrece fortalezas individuales para cada tarea en especı́fico. Por ejemplo, un
beisbolista sabe que una de sus manos es mejor para lanzar la pelota y la otra
para atraparla; puede ser que cada mano intente hacer la actividad de la otra,
mas sin embargo, el resultado no será el más óptimo. [1]

2 Cloud Computing

Cloud computing es el desarrollo y la utilización de capacidad de procesamiento


computacional basado en Internet (la nube). El concepto es un cambio de paradigma,
a través del cual los usuarios ya no necesitan contar con conocimientos, experi-
encia o control sobre la infraestructura tecnológica que se encuentra en la nube,
la misma que soporta sus actividades. Este concepto involucra tı́picamente la
provisión de recursos fácilmente escalables y casi siempre virtualizados, tratados
Google BigQuery 3

como servicios sobre Internet.


El termino nube (cloud en ingles) es usado como una metáfora para el Internet,
basado en como el Internet es representado en los diagramas de redes computa-
cionales y como abstracción de la infraestructura subyacente que el misma oculta.
Los proveedores de cloud computing proveen aplicaciones en lı́nea de negocio,
las mismas que se pueden acceder desde exploradores de internet (Firefox, IE,
Opera, Chrome, Safari, etc.), mientras el software y los datos son almacenados
en los servidores. [2]

3 Inicios de BigQuery
Big Data está convirtiendo en una parte integral de la logı́stica de negocio de la
empresa. Hadoop es el marco y la tecnologı́a detrás de Big Data.
Ofrece diversas herramientas para ingerir, procesar y analizar grandes conjuntos
de datos que normalmente se ejecutan en unos pocos terabytes de tamaño.
Aunque Hadoop ha madurado, sigue siendo considerado para el procesamiento
por lotes. La consulta y el análisis de datos en tiempo real con Hadoop es difı́cil
y costoso.
El corazón de Hadoop es el MapReduce, que no es el adecuado para consultas
interactivas. Las tecnologı́as como Impala y Apache Spark de Cloudera comen-
zaron a complementar MapReduce para hacer frente a los datos en tiempo real.
Aunque era Google el que en gran medida contribuyó al paradigma de MapRe-
duce, también es uno de los primeros en identificar sus inconvenientes. Los inge-
nieros de Google se dieron cuenta de que MapReduce no era ideal para consultar
conjuntos grandes, distribuidas de datos en tiempo real. Para solucionar este
problema, Google desarrolló una herramienta interna denominada Dremel, que
permitió ejecutar consultas SQL en grandes conjuntos de datos en tiempo real.
Dremel ha sido diseñado para ofrecer un excepcional rendimiento de consulta
rápida sobre los conjuntos de datos de datos distribuidos que se almacenan a
través de miles de servidores. Es compatible con un subconjunto de SQL para
consultar y recuperar datos.
En Google I/O 2012, Google anunció BigQuery que expuso Dremel con el mundo
exterior como un servicio en la nube. Desde entonces, BigQuery ha evolucionado
hasta convertirse en un alto rendimiento y escalable motor de consulta en la
nube.

4 Caracterı́sticas
Algunas carácteristicas que posee esta herramienta:
– Velocidad, puede analizar miles de millones de filas en segundos.
– Escalable, capacidad de manejo de un gran tamaño de datos. Miles de
millones de registros con un tamaño de terabytes de datos.
– Simple, lenguaje de consulta similar a SQL. Alojado en la infraestructura
de Google.
4 Google BigQuery

– Múltiples permisos, diferentes accesos de usuario dependiendo de los per-


misos que se otorguen.
– Seguridad, posee acceso SSL (Secure Sockets Layer).
– Múltiples métodos de acceso, conectarse a BigQuery utilizando el naveg-
ador BigQuery, la herramienta de lı́nea de comandos bq, API o Google Apps
Script.

5 Fundamentos de BigQuery

5.1 Proyectos

Los proyectos son contenedores de alto nivel en la plataforma de la nube de


Google. Almacenan información sobre la facturación y los usuarios autorizados,
y contienen datos BigQuery. Cada proyecto tiene un nombre y un identificador
único.

5.2 Tablas

Las tablas son las que contienen los datos en BigQuery, junto con el esquema
de la tabla correspondiente que describe los nombres de campos, tipos y otra
información.
BigQuery soporta vistas, tablas virtuales definidos por una consulta SQL. Además
crea tablas en una de las siguientes maneras:

– Cargando datos en una nueva tabla.


– Ejecución de consultas.
– Copiando una tabla.

5.3 Datasets

Datasets, es un conjunto de datos ası́ como su nombre lo indica, corresponde a


los contenidos de una única tabla de base de datos en su versión más simple.
Los datasets permiten organizar y controlar el acceso a las tablas. Debido a que
las tablas están contenidas en bases de datos, se tendrá que crear al menos un
dataset para cargar datos en BigQuery.

5.4 Jobs

Los jobs, o trabajos, son acciones que se construyen y BigQuery ejecuta para
cargar datos, exportar datos, consultar de datos, o copiar datos.
Ya que los trabajos pueden tardar mucho tiempo en completarse, se ejecutan de
forma asincrónica y se puede consultar su estado.
BigQuery guarda la historia de todos los trabajos asociados al proyecto, accesible
a través de la consola para desarrolladores de Google.
Google BigQuery 5

6 Interactuando con BigQuery

Hay tres principales maneras de interactuar con BigQuery.

6.1 Cargando y exportando datos

Antes de que se pueda hacer consultas, primero habrı́a que cargar los datos en
BigQuery. Si desea obtener los datos de nuevo de BigQuery, se debe exportar los
datos.

6.2 Consulta y visualización de datos

Una vez que usted carga sus datos en BigQuery, hay algunas formas de consulta
o vista de los datos de las tablas, estaremos citando algunas:

Consulta de datos

– Llamando al método [Link]().


– Llamando al método [Link]() con una configuración de
consultas.

Visualización de datos

– Llamando al método [Link]().


– Llamando al método [Link]().

6.3 Manejo de datos

Además de la consulta y visualización de datos, puede administrar los datos en


BigQuery utilizando funciones que permiten las siguientes tareas:

– Listar proyectos, jobs, tablas y datasets.


– Obtener información sobre jobs, tablas y datasets.
– Actualización de tablas y datasets.
– Borrar tablas y datasets.

7 Precio

BigQuery utiliza una estructura de datos de tipo columnar. Se le cobra al usuario


el total de datos procesados en las columnas que seleccione, y el total de los datos
por columna se calcula basándose en los de tipos de datos de la columna.
BigQuery ofrece opciones de precios escalables y flexibles para poder adaptarse
a cualquier proyecto y presupuesto.
BigQuery cobra por almacenamiento de datos, pero para cargar y exportar datos
no tiene costo adicional.
6 Google BigQuery

7.1 Operaciones sin costo

Las operaciones que se encuentran libre de todo costo son:

– Carga de datos.
– Exportación de datos.
– Lectura de tabla.
– Copia de tabla.

7.2 Precio de almacenamiento

El precio de almacenamiento esta basada en el tamao de datos almacenados en


las tablas, basados en el tipo de datos que es almacenado.
El precio de almacenamiento es prorrateado por MB/segundo. Por ejemplo, si
se almacena 500MB para la mitad de un mes, se deberı́a pagar $0.0065.
El precio de almacenamiento es de $0.026 por GB, por mes. [6]

7.3 Precio de consultas

BigQuery ofrece dos opciones de precios: por demanda y por capacidad reser-
vada.

Precio por demanda Las consultas por demanda utilizan un pool-shared de


recursos entre los usuarios, a diferencia de los precios por capacidad reservada.
El primer TB de dato procesado en el mes, las consultas que retornan errores y
las consultas guardadas en cache no tienen costo.
Las consultas se cobran $5 por TB. [6]

Precio de capacidad reservada Para mayores cargas de trabajo, más con-


sistentes, donde el precio va a de un throughput de 5 GB por segundo con un
precio de $20.000 por mes. [6]

8 Uso

Una vez que haya iniciado sesión para BigQuery, se puede acceder al servicio de
diferentes formas:

– BigQuery Browser Tool: con esta herramienta se puede facilmente nave-


gar o crear tablas, correr consultas y exportar datos al servicio de almace-
namiento en la nube de Google.
– bq Command-line Tool: usar la herramienta command-line de Python
para el manejo y consultas de los datos.
– REST API: utilizando la API basada en REST para acceder a BigQuery
mediante programación.
Google BigQuery 7

9 Ejemplo de Uso
Bigquery forma parte de las APIs que tiene disponible Google desde la consola
de servicios.(Google API console).

Como muestra la figura, podemos activar el servicio y tendremos la posibilidad


de administrar Bigquery por medio de una lı́nea de comandos o una interface
Web. Veamos la parte Web de administración.

Como pueden observar en la Consola de administración Web de Bigquery pode-


mos generar nuevos proyectos o bien utilizar consultas de prueba en los reposi-
torios públicos como natality, trigrams, etc. [3]

10 Uso en pequeñas empresas


BigQuery, es esencialmente un servicio online orientado a procesar grandes volúmenes
de datos e información, es un servicio orientado a un cliente profesional, por tanto
8 Google BigQuery

estamos hablando de un producto orientado a empresas.


Resumiendo, toda la experiencia y conocimiento que Google posee sobre almace-
namiento masivo, gestión y proceso de datos, lo pone a disposición de empresas
que no tienen la opción de disponer ni de la tecnologı́a, ni de la arquitectura, ni
de los recursos necesarios.
En un tiempo en el que las empresas necesitan ser tan competitivas y que el
analizar y convertir el dato en información significativa de negocio resulta tan
importante, en un tiempo en el que auge del Business Intelligence es una reali-
dad y en el que ya se oye demasiado el concepto Big Data, esta puede ser una
herramienta muy útil para que las empresas empiecen a experimentar y a aden-
trarse, a precios razonables, en las posibilidades que pueden ofrecer sus datos y
los de los demás para mejorar los resultados actuales.

11 Y qué no es Google BigQuery?


Google BigQuery no es un sistema de reporting, no dispone de una interfaz en la
que se pueda explotar de manera directa la información que se vaya obteniendo.
Por lo tanto, lo ideal serı́a exportar los resultados obtenidos y volcarlos en otros
sistemas de visualización con los que los usuarios que explotarán la información
ya estén familiarizados (Tableau, Gephi, etc.).

12 Overview
En este FrameWork ya podremos crear nuestros proyectos y activar los servicios
que consideremos.

13 Crear Tabla
Una vez tenemos definido todo nuestro espacio de trabajo, ya podemos proceder
a la importación de datos.
Google BigQuery 9

Para subir los datos a la nube habrá que crear un DataSet, una tabla, definir el
schema de la tabla y hacer un upload de los ficheros necesarios.
Dentro del conjunto de datos (Dataset) informamos la tabla.

14 Selección de fichero

Deberemos seleccionar el fichero que contiene los datos que queremos subir a la
nube.

15 Definición del Schema

Finalmente definiremos el formato de la tabla informando los campos con el


siguiente formato:
campo:formato, campo:formato, campo:formato
10 Google BigQuery

Los datos han sido subidos al Cloud y ya pueden ser explotados por BigQuery.
Hay que recordar que la subida de datos y la posterior consulta viene implemen-
tada con la API propia de BigQuery y mediante Webservice REST. Todo un lujo
para quienes quieran crear todo tipo de integraciones con otras aplicaciones.
Un ejemplo de una consulta desde la consola es el siguiente:

16 Impacto en las empresas


Si tenemos en cuenta que muchas empresas que se adentran en el mundo del Big
Data suelen recurrir a consultorı́as que no son precisamente baratas, gracias a
BigQuery las empresas pueden hacer sus primeros pinitos en el procesamiento de
grandes volúmenes de información aunque, seguramente, si quieren hacer algo
en gran profundidad y exprimir los datos al máximo acabarán recurriendo a los
servicios de un tercero.
Conforme vaya aumentando la necesidad de las empresas por exprimir los datos
que manejan y, por tanto, profundizar mucho más en el conocimiento de su
sector, sus clientes o las oportunidades de negocio, supongo que irán surgiendo
más iniciativas vinculadas a extender el uso del Big Data en más y más sectores
productivos. Empresas como Google llevan haciendo esto desde hace bastantes
aos aunque lo hacı́an de manera interna, por tanto, creo que aquı́ tienen un nicho
de mercado bastante suculento en el que podrı́an hacerse un hueco y ofrecer un
servicio llave en mano (infraestructura en la nube y software) con el que podrı́a
ser complejo competir.

17 Google BigQuery vs MapReduce vs PowerDrill


Antes de continuar con la comparación vamos a definir los tres:
– Dremel, es un servicio de consulta que le permite ejecutar consultas SQL en
enormes conjuntos de datos. Es muy sencillo de usar y una gran experiencia
de desarrollo no es requerida para su uso.
– Apache Drill, es similar a Dremel y BigQuery. Sin embargo, es una versión
de código abierto y es bastante flexible, ya que soporta muchos mas lenguajes
de consulta y formato de datos/fuentes. La diferencia que tiene con BigQuery
es que PowerDrill mantiene los datos frecuentemente en memoria.
Google BigQuery 11

17.1 Qué hace a BigQuery tan rápido?


BigQuery puede escanear cientos de millones de filas no indexadas en menos de
un minuto. Hay dos cosas que lo hacen tan rápido: Columnar Storage y Tree
Architecture.
– Columnar Storage: en vez de mirar a los datos en forma de filas, los datos
son almacenados como columnas. La ventaja de este tipo de almacenamiento
es elevada con respecto al almacenamiento orientada a filas. Se analizan solo
los valores necesarios, esto significa que solo 5-20 columnas tienen que ser
visitadas de las miles disponibles, esto reduce considerablemente la latencia.
– Tree Architecture: se utiliza para el procesamiento de consultas y para
añadir los resultados entre los diferentes nodos. BigQuery se extiende por
miles de servidores mediante el uso de un árbol binario, los datos se encuen-
tran fragmentados en varios equipos. Esto ayuda a recuperar los datos de
una manera mas eficiente. [8]

17.2 Cuál es la diferencia entre MapReduce y BigQuery?

La principal diferencia entre MapReduce y BigQuery es que MapReduce se uti-


liza para procesar conjuntos de datos mientras que BigQuery se utiliza para
analizarlos.
MapReduce procesa lotes de grandes volúmenes de datos y puede tardar horas
o incluso dı́as en hacerlo. Si se comete un error, el proceso debe reiniciarse. Se
utiliza generalmente para data mining donde grandes conjuntos de datos no es-
tructurados deben ser analizados mediante programación.
Las consultas de BigQuery generalmente terminan en menos de un minuto. Por
12 Google BigQuery

lo tanto, los métodos de ensayo y error son válidos a la hora de ejecutar consul-
tas. Se utiliza generalmente para Analytical Processing / Business Intelligence
donde grandes archivos CSV estructurados están disponibles. [8] En resúmen,
mientras más sea la cantidad de pedazos son mas rápidas las consultas.

18 Cuando usar Google BigQuery?


La fuerza de BigQuery reside en su capacidad para manejar grandes conjuntos
de datos. Por ejemplo, la consulta de decenas de miles de registros puede tardar
sólo unos segundos. Incluso después de dos veces el número de registros, Big-
Query tomarı́a el mismo tiempo para procesar la consulta. Dado que se basa en
el lenguaje de consulta SQL estándar, es bastante fácil de construir consultas
complejas para recuperar los datos. BigQuery es un almacén de datos estruc-
turados en la nube. De ello se sigue el paradigma de tablas, campos y registros.
Sin embargo, a diferencia de RDBMS, BigQuery admite campos que pueden
contener más de un valor por lo que es fácil de consultar datos anidados repite.
Google replica los datos BigQuery través de múltiples centros de datos para que
sea de alta disponibilidad y duradero.
BigQuery normalmente se produce al final de la tuberı́a de Big Data. No es
un reemplazo a las tecnologı́as existentes, sino que los complementa muy bien.
Después de procesar los datos con Apache Hadoop, el conjunto de datos resul-
tante puede ser ingerido en BigQuery para su análisis. Corrientes en tiempo real
que representan los datos del sensor, los registros del servidor web o gráficos de
medios de comunicación social pueden ser ingeridos en BigQuery que se debe
consultar en tiempo real. Después de ejecutar los trabajos de ETL en RDBMS
tradicionales, el conjunto de datos resultante se puede almacenar en BigQuery.
Los datos pueden ser ingeridos a partir de los conjuntos de datos almacenados en
Google Cloud Storage, a través de la importación directa de archivos oa través
de streaming de datos. Ası́ que, si Apache Hadoop es el medio para Big Data,
BigQuery es el final.
Google BigQuery 13

Conclusión
Lo primero que uno se pregunta cuando ve esta herramienta podrı́a ser: Para que
puedo utilizar esta tecnologı́a? Todo el análisis de datos del tsunami tecnológico
actual que se podrı́a realizar, una mina de oro!.
Algunos ejemplos de utilización pueden ser: reportes entandarizados, análisis,
exploración y minerı́a de datos concreta desde diferentes clientes de acceso. Ac-
tualmente, la cantidad de información que se debe procesar es cada vez mayor,
por ende el tiempo que lleva gestionarlos también va en aumento. Esto hace que
la capacidad de software habitual no sea suficiente para el manejo de cantidades
de datos muy grandes.
Aquı́ es donde aparece el nuevo término denominado Big Data. Un ejemplo
serı́a una Base de Datos estructurada, que mientras crece la cantidad de datos
guardados, la misma va perdiendo eficiencia. Por eso van a apareciendo lo que
se denomina Bases de Datos no estructuradas, las cuales buscan mantener una
eficiencia constante a medida que aumenta la cantidad de información guardada.
Por lo tanto, para manejar grandes cantidades de datos casi en tiempo real sin
poder tener la infraestructura necesaria, aparece Google BigQuery. Es una prop-
uesta de google con precio accesible.
Con el manejo de datos no estructurados hay una infinidad de usos que se le
podrı́a dar, información tan valiosa que está esperando ser explotada, como es-
tudios de lugares frecuentados por personas a determinadas horas del dı́a, donde
frecuentas las barreras policiales (que calles frecuentan, la hora, dı́as de la sem-
ana, etc.). Solo deberı́a estar disponible una gran cantidad de información útil
y la mejor forma de analizar dicha información. No hay que preocuparse de in-
fraestructura ni de manejar nodos como es en el caso de Hadoop, ya que Google
BigQuery ya se ocupa de eso.
Gracias a este trabajo pude ver la mina de oro que hoy dı́a es la información
disponible en la red, y las diferentes opciones para poder manejarla además de
Google BigQuery. Pero una de las opciones más actractivas es la opción que
nos propone Google para los que no tienen la posibilidad de tener un clúster de
computadoras debido a su alto costo.
14 Google BigQuery

Referencias
1. Qué es Big Data?
[Link]/developerworks/ssa/local/im/que-es-big-data/
2. Cloud Computing
[Link]
3. Moderno enfoque para trabajar datos masivos
[Link]
html
4. Google BigQuery. Consultas de alto rendimiento.
[Link]
5. Google Analytics Premium se integra con BigQuery
[Link]
#axzz3CIhRCrCE
6. Google BigQuery Documentation
[Link]
7. When to use Google BigQuery?
[Link]
8. BQ vs MR vs PowerDrill
[Link]

También podría gustarte