En la actualidad, todas las empresas, sin importar si son públicas o privadas, tienen algo en común: el uso de BigQuery comprendiendo el valor y la importancia de los datos. Y es que en los datos se encuentra la clave del éxito. Al tenerlos estructurados adecuadamente y estudiados de una forma sistemática, podemos sacar conclusiones que nos beneficiarán en un futuro.

Ahora bien, ¿Cómo BigQuery enlaza con varias de estas disciplinas relacionadas con los datos?

Realmente funciona como una herramienta de data warehousing, ya que permite guardar y extraer grandes cantidades de datos.

En la parte de Data Mining se casa muy bien con el lenguaje R. Este nos ayuda a explorar datos que no tienen una buena estructura, y este lenguaje precisamente tiene una implementación de una librería de este tipo.

Respecto a Business Inteligence, existe una herramienta que Google adquirió hace poco llamada Big Query BI Engine. Aquí podrás hacer análisis y reportes en tiempo real con una latencia bastante baja, con informes que estén listos en segundos o incluso, en menos de este tiempo.

Finalmente, esta herramienta tiene una relación muy directa con Machine Learning, ya que precisamente tiene un producto llamado Big Query ML (quien haya trabajado con SQL, notará que este es sumamente fácil de aprender).

La magia de BigQuery: ¿Por qué es diferente a otras plataformas?

Con esta herramienta puedes hacer partitioning, que son particiones manuales en diferentes zonas donde estás guardando tus datos.

Igualmente, puedes hacer una estrategia mucho más leve como clustering. Donde tienes la posibilidad de organizar manualmente tus llaves por las cuales van a ser guardados tus datos. Veamos otros detalles que hacen de este producto toda una maravilla.

Es fully managed

No tienes que preocuparte de nada; tienes la seguridad de que va a cuenta de la misma nube de Google No tienes que hacer réplicas, no tienes que hacer configuraciones en anillo o configuraciones de red, todo está completamente administrado.

Tiene un almacenamiento vertical (columnar)

A diferencia de una RDBMS tradicional, que es un almacenamiento horizontal basado en registros. Con BigQuery, las consultas son mucho más veloces en cuestiones de agregación y reportes.

Usa patrones de acceso para codificar los datos

A través de Capacitor (File Format), cuando los datos están repetidos, comprime dichas repeticiones y a la hora de extraer los datos, los reconstruye. Incluso, si los datos no están ordenados, tras bambalinas los ordena.

Sistema distribuido de archivos (Colossus)

Es un sistema de documentos que manejan en Google, no es solo para esta herramienta; sin embargo, también lo trabaja.

Colossus brinda la posibilidad de poder guardar los datos de manera redundante en diferentes discos duros, varias máquinas o distintas zonas. Puedes incluso modificar las regiones o hasta guardarlos en otro país o continente.

Optimización del guardado de la información

Resulta que BigQuery tras bastidores, va a estar haciendo ordenaciones donde indexará tus datos de una forma inteligente.

Por ejemplo: si normalmente extraes los datos por fecha, colocará la fecha como una de las llaves principales para que sea mucho más fácil la extracción. Estos datos van a estar 100 % encriptados e incluso puedes manejar las llaves de encriptación.

Lamentablemente, dentro de toda la magia hay un gran pecado: no se puede hacer un select de todo lo que hay en una tabla. ¿Por qué? Porque al ser una base de datos columnar, tendría que descomprimir todas las columnas y luego tendría que asociar una columna con la otra para rearmar toda la tabla completa, así que no tiene mucho sentido.

¿Cómo usar BigQuery?

Su interfaz es bastante amigable y familiar. En Google Cloud tenemos los proyectos, los cuales son la manera en la que se separa funcionalmente toda la agrupación de recursos que vamos a utilizar.

Como ejemplo, si tienes instancias de cómputo, o instancias de bases de datos, al igual que posees las herramientas de almacén, entre otros. Estos se mantendrán separados. Por otro lado, vamos a poder mantener a raya los costos.

Cuando se tiene una base de datos SQL que está en ese mismo proyecto, va a ser muy fácil conectarlo con esta herramienta de almacenamiento. Porque eso significa que estos proyectos están viviendo en la misma casa por decirlo de algún modo.

Por ende, con BigQuery no necesitamos crear un intermediario a través de un proxy, todo está solucionado dentro de estos grupos de trabajo. Por default, Google Cloud te da algunos recursos para que puedas trabajar, experimentando y probando de manera gratuita todas sus herramientas. Básicamente, todos estos aditamentos tienen algún tier gratuito.

¿Qué otras cosas se pueden hacer para facilitar su uso?

Se pueden añadir conjuntos de datos nuevos (puede ser de tus datos personales de otra base de datos). Al producir los conjuntos de datos, tienes la potestad de definir dónde quieres que esté localizado. Tomando en cuenta lo de las regiones o zonas geográficas que comentamos anteriormente.

Para que sea más sencillo sugerimos colocarlo en Estados Unidos. También puedes modificar otras áreas como el vencimiento de las tablas, si deseas que venzan y la encriptación que quieres que tenga BigQuery. En Google Cloud tenemos el explorador interno, el cual nos permite buscar datos que tenemos, tanto dentro como fuera de los grupos de datos.

Podemos encontrar una serie de tablas muy interesantes que van actualizándose constantemente. Por ejemplo: datos de béisbol, de Blockchain, de cryptos, del Covid-19, datos geográficos, datos de google analytics (es una excelente manera de ver cómo los usuarios usan el internet), y más.

La forma de interactuar con este producto es realmente sencilla al momento de explorar los datos. Incluso podemos conectar alguna herramienta externa como por ejemplo API. Si queremos redactar una consulta nueva, podemos abrir un editor nuevo y escribir una consulta de una forma muy similar a como lo hacíamos en SQL.

Utilización de BigQuery y ejemplo práctico

Las partes que normalmente tiene un Query es un select* y un from. El from sería de qué tabla o de qué fuente de datos vamos a extraer la información. Aquí vamos a definir de dónde quieres tomarla, en este ejemplo se toma de BigQuery public data. Que es justamente la fuente de datos que encontramos para la ejemplificación.

El punto y punto te va a dar, entonces, la fuente de datos en particular y en este caso vamos a enfocarnos en los datos de COVID-19, ya que para bien o para mal todavía es un tema que está en boca de todos, todo el tiempo.

COVID-19 + ecdc, dentro de eso tenemos una tabla. Dónde se encuentra COVID-19 nombrada “geographic distribution worldwide”, esta va a ser nuestra fuente de datos.

Dentro de estas tablas hay la posibilidad de que encuentres errores de sintaxis. Estos también se ven cuando el select lo dejamos vacío. Para el ejemplo que queremos desarrollar nos interesa primero ver de dónde vamos a sacar los datos en BigQuery.

Primer paso, escoger la tabla

Ahora, seleccionas por ejemplo la tabla que te va a dar algunos datos de inmediato. De esta manera es como puedes evitar hacer esa consulta de estrella y tres, en ese rato el select from del select start from en la tabla.

En el caso de esta tabla se evita este tipo de consulta ya que causa un costo muy grande y porque es una agregación de todos los datos al final. En el caso de que quieras explorar la data sin que tengas que afrontar estos costos, lo puedes hacer de la siguiente manera:

Selección detallada

Lo que puedes hacer, por un lado, cuando das clic en la pestaña de selección, es que te van a aparecer varias pestañas de selección en BigQuery.

En la primera verás el esquema donde podrás observar con detalle, qué columnas y divisiones tendría. Por ahora tendríamos “date”, “month”, “year”, decesos confirmados, muertes diarias, entre otros datos.

En la otra columna te aparecerá el tipo de dato que tiene, y en la siguiente columna te va a indicar si es nullable o not nullable, lo cual lo usamos para saber si puede ir vacío o no dicho campo.

Elección del tamaño de almacenamiento

Si queremos ver más detalles, existe la posibilidad de que observes la información de la tabla. Dónde su tamaño completo es de 5.44 megabytes de almacenamiento a largo plazo. Que es todo lo que va a llevar el almacenamiento en un lapso de tiempo muy grande. Esto puede cambiar si es que tú vas aumentando datos constantemente en BigQuery.

Del mismo modo, tienes la opción de calcular cuál va a ser el tamaño en el futuro con la cantidad de filas. Cuando fue creada la tabla, la última modificación, el vencimiento de la tabla, y otras particularidades.

Agrupaciones

Es ideal hacer un grupo que nos ayude a hacer los bloques discriminados. Al poder hacer los tramos de información y los criterios por los que nos vamos a guiar, que es justamente en este ejemplo de datos del COVID-19, los países y territorios “countries and territories”, después de esto procederemos a hacerlo por mes.

Lo que te va a dar esta selección que hagas en BigQuery, es la sumatoria de casos confirmados. Decesos en un mes determinado, en un año determinado y en un país determinado. Este tipo de organización es muy útil para hacer más específica la data.

Escoger los datos que realmente necesitas

Esta consulta procesa a 2.5 megabytes cuando se ejecuta. De este modo, podrás ver cómo va cambiando la consulta o la cantidad de información que vas a extraer de la tabla por cada consulta.

Si haces un “select” todo va a cambiar completamente. Por ejemplo si escoges todo obtendrás los 5.4 megabytes que es el tamaño completo de la tabla. Si, por el contrario, solo vas agregando datos específicos. Cambiara de 2.5 a 2 megabytes dependiendo la cantidad de información que te traigas de la tabla.

Cuando realizas este trabajo, lo que cambia es las columnas que traes. Cuando baje la cantidad de datos extraídos, se hace más rápida la consulta y también se hace menos costoso todo el proceso.

Dremel en BigQuery

Dentro de las cosas que hace esta herramienta de almacén de datos empresariales, es que posee un sistema de ejecución o de procesamiento de datos llamado Dremel.

Este sistema lo que hace es planificar cómo va a ejecutar los cuadros, es decir, el orden de los procesos a ejecutar. Lo que va a hacer primero, lo que hará luego, y después como trabaja con la primera columna, de manera que la va relacionando con otras.

Del mismo modo, te da la potestad de ir agrupando, y en el proceso podrás observar cómo lo va haciendo. Cuál es la estrategia que se va a utilizar para ejecutar un cuadro y las fases. Que como aditamento a BigQuery es una ventaja a todas luces.

Con respecto a la fase de espera, es el tiempo que esperamos a tener una máquina que ejecuta esta tarea. En cuánto tiempo hizo de lectura que extrae todos los datos, cuánto tiempo tomó en el procesamiento de los datos.

Lo que justamente se convierte en la obtención de información con respecto a la suma de las agregaciones. Las anotaciones certeras y cuantificables en la escritura. Esta tarea se va ejecutando solapadamente, y lo que realmente sucede es que toda esta información la está guardando en otro archivo. El mismo es uno temporal para que cada quien lo consulte.

En el mismo tema, también podrás observar que con este aditamento en BigQuery, tienes la capacidad de acceder sin restricciones a las consultas que son recurrentes; las puedes tener ahí ya guardadas para futuras crisis o vistas rápidas.

Google Data Studio

Otra cosa que también puede ser interesante es la posibilidad de trabajar con Google Data Studio. Siendo una herramienta que visualiza las métricas a través de los procesos de realización de dashboards, presentaciones y en la exploración de diferentes formatos de datos como los que te hablamos anteriormente.

Un beneficio que posee es que te da la facultad de utilizarla de forma gratuita. Dentro de sus características, puedes crear diferentes tipos de gráfica para presentar un dashboard completo. Google Cloud es uno de esos productos que no es tan fácil de encontrar en otro lugar, no tiene equiparable en el mercado.

La verdad, con BigQuery, esta herramienta es muy útil para científicos de datos y para explorar en general algunas cuestiones de negocios. Las tareas de experimentación con Google Data Estudio, te brinda una visual que lo hace una herramienta superfácil.

También tiene la opción de conectarse realtime, lo que sirve para trabajos con grupos remotos al momento de ir produciendo informes, obtención de datos, análisis en vivo y corrección de errores en tiempo real.

Esta es simplemente una opción de las muchas que te da esta herramienta, la cual tendrás la potestad de tomar o nada más trabajar online sin la necesidad de hacer una conexión en vivo.

Obtención de datos en Google Data Studio

Para generar informes con esta poderosa y a la vez sencilla herramienta, tienes que establecer cuál es la fuente desde donde obtendrás tus datos. Lo maravilloso de esto es que puedes agregar varias fuentes a la vez e ir trabajando con una información más completa.

Si posees una base datos SQL de visual y de otras fuentes de datos como de una hoja de cálculo, también las puedes incluir. Lo que hace el informe más blindado en lo que respecta a la información obtenida, además de facilitar la recopilación de datos.

Al momento de seleccionarla, Google Data Studio te va a pedir que le des el acceso a la conexión con la aplicación que, en este caso, será BigQuery. Enseguida verás todas las opciones que tienes habilitadas para trabajar, como añadir gráficos de diferentes tipos y analíticas y tablas.

Del mismo modo, puedes agregar filtros que te permitirán ir clasificando la información por datos específicos que desees resaltar. O igualmente, podrás filtrar las empresas desde donde estás obteniendo los datos, integrando en un mismo documento a varias empresas.

Fuentes de datos insertadas

Cuando creas tus fuentes de datos y editas los informes que trabajarán a partir de esas fuentes, toda esa información se verá reflejada en dicho documento, es decir, se insertan en los mismos.

Las fuentes de datos insertadas le dan la capacidad, al equipo que esté trabajando bajo esta información, de colaborar con mucha más facilidad en informes y sus fuentes de dato. Todo aquel que tenga la potestad de editar los informes, también puede hacer modificaciones a las fuentes de datos, así mismo a su conexión con BigQuery.

También debes tomar en cuenta que cuando compartes o copias el informe en el que se está trabajando, igualmente se comparten o se copian todas las fuentes de datos que están insertadas.

Fuentes de datos reutilizables

Desde el momento en que generas fuentes de datos a partir de la página principal de Google Data Studio, te brinda la capacidad de reutilizar estas fuentes. El beneficio es que puedes aprovechar esas fuentes de datos en diferentes informes que se produzcan.

Un beneficio sustancial es que con las fuentes de datos reutilizables, tendrás el permiso de producir y compartir modelos de datos con la misma información que maneje toda la organización. En el caso de compartir una fuente de datos reutilizable, esta persona que la recibe también tendrá la potestad de modificarla.

Lo que si restringe este plug, es que solamente el propietario de las credenciales de la fuente de datos será el que tenga el permiso de editar la conexión con la aplicación, que para nosotros es BigQuery.

Beneficio de las fuentes de datos insertadas

Como puedes compartir la fuente de datos las veces que compartas el informe en las que estén insertas. Entonces no tendrás el doble trabajo de compartir por separado estas fuentes. Lo que reduce duplicación de gestiones, errores involuntarios o pérdidas de información solo con incluir todo en un solo informe.

Estas fuentes son elementos independientes que tienen la ventaja de utilizarse en varios informes. Además, se pueden editar desde el mismo informe o accediendo a la página principal de Google Data Studio.

Otra ventaja es que te genera un muestreo en el caso de que la fuente de datos no esté funcionando de manera correcta. A su vez, muestra si existe algún problema con la conexión con BigQuery o desde donde estés obteniendo los datos.

Data Flow

Esta es otra de las herramientas de Google a la que podemos hacer conexión con la herramienta de almacén y análisis de datos que estamos escudriñando. Sirve para conectar cualquier input de datos con otro. Este plug permite:

  • Hacer analíticas de datos de streaming con fluidez, menos latencia de datos y con la capacidad de llevar sus procesos de forma rápida y muy sencilla.
  • Simplificar el trabajo de gestión, ya que trabaja sin servidor. Lo que ayuda a minimizar la carga operativa que se generan cuando se trabaja con ingeniería de datos. Esto libera al equipo de gestiones basadas en clústers o en servidores y lo que implica, así podrá dedicarse a programar.
  • Reduce el costo total de propiedad, aunque este plug es costoso para hacer la conexión con aplicaciones como BigQuery, a su vez disminuye otros costos en la medida que compagina el autoescalado de recursos con el procesamiento de datos por lotes que potencian y ahorran costos. Su manera es a través del manejo de volúmenes de trabajo temporales y con picos máximos combinados, sin utilizar más recursos que generen gastos adicionales.

Aunque sabemos que es un plug superinteresante de usar, también sabemos que no es económico, el truco está también en que te hagas de otras herramientas como Cloud Function. Google Cloud Functions es la alternativa informática que no posee servidor presentado por Google para crear aplicaciones basadas en eventos.

Esta te brinda, como desarrollador, todo el acceso a los eventos de Firebase y Google Cloud, con la facilidad de aplicar códigos que respondan a los eventos a los que estás accediendo. Junto a BigQuery podrás obtener notificaciones de eventos interesantes que estén pasando en el momento.

Aprende como implementar el blockchain a tu negocio aquí.