Después de trabajar muchos años con herramientas de diferentes cloud (Google, Amazon y recientemente con Azure) en este artículo preparo una comparativa de base de datos en los entornos Clouds más potentes, incluyendo Snowflake que desde hace unos años viene pisando muy fuerte con sus soluciones así como sus alianzas y capacidades de conexión entre todos los clouds.
Comparativa base de datos: Google BigQuery
Google BigQuery es un servicio de almacenamiento de datos gestionado en la nube. Se abstrae de las configuraciones y de los detalles de hardware y base de datos, es serverless y gestiona almacenamiento y recursos de forma dinámica.
Se denomina una base de datos “hands-off”, sin índices o restricciones por columnas.
Como principales puntos a favor para la comparativa de base de datos podemos mencionar que la configuración de este servicio es super sencilla y rápida.
Otros puntos destacados serían:
- La ingesta de datos no tiene impacto directo en el rendimiento de las queries ya que los recursos computacionales se usan de forma individual para cargar o para llevar a cabo las extracciones de los usuarios.
- Capacidad de exportar en diferentes formatos.
- El modelo de princing, no se realiza por ingestas sino por procesamiento de datos.
- Permite la ingesta de datos con esquemas desconocidos con la opción “sugerencia de ingesta”
- No necesita gestión supervisada (fully-managed)
Como puntos en contra podemos mencionar que el usuario no puede definir nodos o capacidad de la instancia BigQuery.
Otros serían:
- No posee soporte de almacenamiento de ficheros.
- No permite que los resultados de las queries excedan los 128MB.
- Servicio global (multi-región) que no cuenta con transparencia en cuanto a zonas de disponibilidad o regiones.
- Soporte limitado de logging para gestión de cuentas, seguridad y aprovisionamiento.
Comparativa base de datos: Microsoft Azure SQL Data Warehouse
Microsoft Azure SQL Warehouse es una base de datos empresarial capaz de gestionar grandes cantidades de datos, tanto relacionales como no relacionales. La BBDD es ANSI-SQL y se basa en un modelo columnar de los datos.
Se integra con la familia de servicios de SQL Server y de Azure (Azure Data Lake Storage, Data Factory, HDInsight, Databricks, etc.)
Como principales puntos a favor para la comparativa de base de datos podemos destacar que es independiente de la unidad de almacenamiento, lo que permite escalar recursos computacionales y capacidad de almacenamiento de manera individual.
Otros puntos destacados son:
- Tiene una interfaz muy friendly lo que facilita las tareas de configuración. Debido a la simplicidad de su interfaz la hace muy cómoda la experiencia de usuario.
- Integrable con herramientas de BI como Datometry, Qlik, MicroStrategy, Informatica, Talend, Tableau, PowerBI, etc.
- Permite exportar datos a ficheros locales y viceversa, de manera sencilla como se haría con SQL Server.
- Soporta hasta 128 queries simultáneas.
Como puntos en contra podemos mencionar que lleva mucho tiempo el mantenimiento y la adaptación de la infraestructura a nuevos releases de los servicios.
Otros puntos a mencionar serían:
- Disponibilidad limitada por zonas
- No cuenta con soporte de versiones
- No ofrece distribución Linux
- Necesita gestión supervisada
Comparativa base de datos: Amazon Redshift
Amazon Redshift es un servicio de almacén de datos a escala de petabytes totalmente administrado. Redshift está diseñado para cargas de trabajo analíticas y se conecta con clientes estándar basados en SQL y herramientas de inteligencia empresarial.
Según el sitio web de Amazon, Redshift ofrece un rápido rendimiento de consulta y E/S para conjuntos de datos de prácticamente cualquier tamaño mediante el uso de tecnología de almacenamiento en columnas y la paralelización y distribución de las consultas en múltiples nodos. La mayoría de las tareas administrativas comunes asociadas con el aprovisionamiento, la configuración, la supervisión, las copias de seguridad y la protección de un almacén de datos están automatizadas.
- Amazon Redshift es un servicio de almacenamiento de datos gestionado y escalable en la nube.
- Soportado por el ecosistema de Amazon Web Services (AWS) e integrable con sus servicios (Kinesis, SageMaker, EMR, Glue, DynamoDB, Athena, etc.).
Como principales puntos a favor para la comparativa de base de datos podemos mencionar que tiene un escalado simultáneo para mejorar el rendimiento de las consultas.
- Copia de seguridad de datos almacenada en AWS S3
- Virtualización de los datos que habilita un análisis de datos distribuidos entre diferentes plataformas dispares
- No necesita gestión supervisada
- Soporta la integración con MicroStrategy, Qlik, Tableau, IBM, Alteryx, etc.
- El cálculo del precio mensual es sencillo y depende únicamente del uso y el número de clústeres contratados
Como puntos en contra se detectan algunos problemas de escalabilidad vertical así como:
- No soporta textos largos en columnas (no más de 64K)
- No permite el acceso por consola de máquina virtual.
Comparativa base de datos: Snowflake Data Warehouse
La plataforma de datos en la nube Snowflake incluye un almacén de datos SQL puro. Diseñada con una nueva arquitectura patentada para manejar todos los aspectos de los datos y la analítica, combina alto rendimiento, alta concurrencia, simplicidad y económica a niveles que no son posibles con otros entornos de datos. Es una base de Datos exclusivamente en la nube y completamente gestionada.
- Snowflake ofrece una clara separación entre computación y almacenamiento.
- Ofrece la posibilidad de conectarse a AWS para almacenar los datos en S3 para ofrecer proximidad a los datos cuando se ejecuten las queries
- Snowflake tiene básicamente dos niveles de configuración: según el tamaño del cluster y según la cantidad máxima de clusters permitidos para gestionar la computación actual.
Como principales puntos a favor para la comparativa de base de datos podemos destacar su fácil utilización y abstracción para el usuario.
- La gestión de concurrencia se basa en máquinas stateless evitando problemas típicos de estos casos.
- Se puede usar desde línea de comandos Linux para la carga y descarga de datos.
- Compatibilidad con ANSI-SQL (aunque no es idéntica la sintaxis).
- Integrable con IBM Cognos, Informatica, Power BI, Qlik, Apache Spark, Tableau, etc. y muy sencillo de conectar a otras BBDD.
- No necesita gestión supervisada (modo fully-managed).
Como puntos en contra destacar que al necesitar recuperar datos de S3 los tiempos de ejecución de las querys pueden aumentar, considerablemente en algunos casos.
- La falta de configurabilidad supone un impacto en el rendimiento ya que depende en gran medida del caché.
- La opción multi-cluster tiene un precio elevado.