Building a Data Warehouse: Módulo 3
3 min readJun 17, 2020
1. BigQuery un data warehouse moderno.
- A diferencia de base de datos normales que están orientadas a filas Big Query lo hace por columnas y distribuye el peso por columnas
- Big Query almacena toda la información en un sistema columnar propietario que se llama capacitator, este maneja los worflows para sacarle provecho a esta herramienta
- La data esta almacenada y codificada en un sistema de archivos distribuidos llamado colossus en diferentes discos físicos como se muestra en la figura 1
Figura 1 Estructura de Big Query
- La data esta replicada en múltiples Datacenters y con esto la información se distribuye. Y al ejecutar los Querys la parte de procesamiento es Dremel de BIG QUERY que permite ver cuántos capacitadores necesito para hacer el Query que trae los datos y los muestra
- Adicionalmente podemos ejecutar datos de fuera de la zona de almacenamiento estos datos pueden estar en Could Storage o en Google drive o en Big Table
- Como los datos no están almacenados en Big Query y debe usar otra red esto lo vuelve un poco más lento
- Servicio de data warehouse de GCP tienes muchas características, se puede hacer query en SQL no solo en datasets pequeños sino con gran volumen de datos.
- Capacidades de Serverless ya que no requiere de información por detrás, y se puede cancelar querys
- Esquema de visualización porque todo se exponen en Apis
- Big Query posee 300 ms de latencia
- Big Query cobra por consumo
- Se coloca una base de datos fija con pagos fijos
- Consultas SQL interactivas sobre grandes conjuntos de datos (petabytes) en segundos
- Sin servidor y sin operaciones, incluidas las consultas ad hoc.
- Ecosistema de visualización y herramientas de informes.
- Ecosistema de ETL y herramientas de procesamiento de datos.
- Datos actualizados al minuto.
- Machine Learning.
- Seguridad y colaboración.
1.1 Optimización de los Capacitadores
Codificación por diccionario el capacitador trae ordena y muestra los datos
Codificación por tamaño puede hacer que se reduzca la data al momento de leer y reordena los datos antes de ejecutarlo
1.2 SLOTS
- Capacidad de cómputo en Big Query unión de red ram y cpu
- 1 slot es la mitad de la capacidad de una máquina virtual de 1 GB de memoria
- Se usan para realizar el procesamiento de los query
- Mas slots más memoria ósea el query está compilado y se debe procesarlo
- Cada big query tiene un límite de 2000 slots
- Para tener más slots en big query hay la opción de separar slots
- ½ CPU y 1Gb RAM cada slot
1.3 Big Query Organización
- Big Query organiza datos en tablas llamados dataset
- Disponible para todos los proyectos y dentro de cada proyecto se tiene tablas
- Big Query corresponde a un proyecto y esto está asociada a una cuenta de facturación
- Cada tabla maneja una estructura
1.4 Seguridad
- EL IAM da permiso a los datasets mas no a las tablas
- Para seguridad tiene los mismo que cloud storage
- Para dar acceso una persona debo ir al IAM y dar acceso a una persona en Big Query
- Soporta vistas autorizadas y con esto se maneja restricción individual
- Solo de da acceso a la vista y no al dataset
- Se maneja auditorio como ver quien borro datos si se ejecuta o no los querys
Autores:
- Gabriel Guerra
- Paulette Parra
- Diego Paz
- Pablo Zuñiga
Revisa los siguientes post
Módulo 1: Introduction to Data Engineering
Módulo 2: Construyendo un Data Lake en GCP
Módulo 4: Big Query
Módulo 6: Serverless Data Processing with Dataflow
Conoce más: bootcampai.org/di