(ACTUALIZACIÓN: Una versión ampliada de este artículo: Redshift v. BigQuery: ¿Similitudes, diferencias y el futuro sin servidor?)
A grandes rasgos, BigQuery y Redshift son servicios de almacenamiento de datos en la nube. Honestamente, las similitudes son mayores que las diferencias, y si está buscando graduarse de MySQL / PostgreSQL / SQL Server para análisis o alejarse de las costosas bases de datos MPP de licencias perpetuas, tampoco puede equivocarse.
Dicho todo esto, permítanme resaltar algunas de las diferencias, que realmente se reducen a:
- ¿Qué tan fácil es construir una extensión de Shopify? Entiendo que es una pregunta demasiado genérica, así que digamos en comparación con la extensión Magento eCommerce.
- ¿Cómo puedo enviar datos AJAX a una función PHP específica y no solo al archivo PHP que contiene la función?
- ¿Se puede utilizar animate.css para crear un sitio web de página de destino? Si es así, ¿cómo?
- Cómo aprender bootstrap sin ayuda
- ¿Cuál es la herramienta que salva vidas para el diseño / desarrollo web?
- Cargando datos
- Administrar recursos (y, por lo tanto, precios)
- Ecosistema
Cargando datos
Ambos servicios admiten múltiples métodos para cargar datos pero con diferentes herramientas / integraciones.
- Redshift
- COPIAR desde S3: con mucho, la forma más común de cargar datos en Redshift es mediante el comando COPIAR desde datos que ya están en S3. Alternativamente, puede usar servicios de terceros (mi empleador Treasure Data es uno de ellos) o usar una herramienta de código abierto como embulk.
- Kinesis Firehose / Streams: puede transmitir datos desde Kinesis a Redshift como se describe aquí.
- BigQuery
- Carga masiva : archivos CSV / JSON. Algunas limitaciones en el número de cargas por tabla.
- Carga de transmisión : BigQuery admite la carga de transmisión. Fluentd parece ser una herramienta popular aquí, como se describe en este artículo del blog: Análisis de registros en tiempo real usando Fluentd y BigQuery. Tenga en cuenta que las inserciones de transmisión le cuestan dinero. También quiero agregar que si usa Fluentd, podrá transmitir datos a Redshift y BigQuery (o Elasticsearch o cientos de otros backends)
- Google Analytics Premium: si paga 150,000 USD al año para registrarse en Google Analytics Premium, obtiene acceso a sus datos web / móviles dentro de Google Analytics a través de BigQuery.
Administrar recursos
Honestamente, no importa lo que digan los proveedores respectivos, ninguno de los servicios está realmente establecido y se olvida. Necesitará un ingeniero dedicado para dominar el servicio y mantenerlo. Puede usar varias herramientas para automatizar varios aspectos de la operación, pero nunca estará libre de mantenimiento.
Dicho esto, aquí hay cosas que he visto de primera mano / basadas en hablar con los usuarios:
- Redshift
- Aún necesita asignar diferentes tipos de instancias y crear clústeres por su cuenta.
- Pros: le permite mezclar y combinar CPU / almacenamiento para satisfacer sus necesidades analíticas. Además, es fácil para el equipo de compras trabajar, especialmente si compra instancias reservadas por adelantado.
- Contras: debe conocer los límites de hardware (virtualizados) y escalar / escalar en función de eso.
- Se le cobra por hora por cada instancia que gira. Puede reservar instancias y / o pagar por adelantado por aproximadamente un 30-70% de descuento.
- BigQuery
- La idea del hardware está completamente abstraída y no es visible, incluso como unidades virtualizadas. Usted crea tablas, coloca datos allí y las consulta. En cierto sentido, cada usuario tiene la “misma” configuración. Los pros y los contras son exactamente lo opuesto a los de Redshift: no necesita preocuparse por la configuración, pero no tendrá esa flexibilidad.
- Debido a que no existe una noción de tipos de instancia, se le cobra por almacenamiento, inserciones de transmisión y consultas: consulte su página de precios para obtener más detalles. Nuevamente, esto tiene ventajas y desventajas.
- Pros: no es necesario preocuparse por ampliar / reducir instancias
- Contras: los precios basados en el uso a pedido son menos predecibles y más difíciles de trabajar para su equipo de compras (recientemente agregaron la función de controles de costos para abordar este problema)
- ACTUALIZACIÓN: A partir de septiembre de 2016, tienen el nuevo precio de tarifa plana que comienza en $ 40,000 por mes basado en la unidad virtual de computación llamada “slots”. Las ranuras sirven como mecanismo para controlar la cantidad de trabajos concurrentes. Esto esencialmente logra el mismo efecto que el aprovisionamiento de dispositivos virtuales con la flexibilidad adicional de desacoplar los requisitos de concurrencia del almacenamiento (por el cual paga por separado).
Ecosistema
Aquí es definitivamente donde Redshift tiene una ventaja sobre BigQuery. Si bien BigQuery es una alternativa asequible y de alto rendimiento a Redshift, Google Cloud Platform es menos completa y está “aprobada por la empresa” que Amazon Web Services (véase, por ejemplo, Gartner Magic Quadrant 2015 para IaaS). Esto no pretende ser un golpe en Google Cloud Platform: tienen muchas características que son realmente vanguardistas (Google Cloud Storage Nearline y Cloud Dataflow, por ejemplo), pero como plataforma, se percibe que son más prometedoras que establecido.
Y el ecosistema es importante: si ya es cliente de AWS, es mucho más fácil desde el punto de vista contable y financiero adquirir Redshift y agregarlo a su factura de AWS que abrir una nueva cuenta con Google Cloud Platform para Big Query. Además, si ya tiene datos en S3, mover esos datos a Redshift es más fácil y rápido que migrarlos a BigQuery (¡aunque un servicio como Treasure Data puede ayudar!).
Estás adelantado al juego, de todos modos
Sin embargo, en última instancia, los usuarios inteligentes utilizarán múltiples plataformas en la nube para realizar su trabajo más rápido y a mayor escala, y si está decidiendo entre Redshift y BigQuery, ya está millas y años por delante de muchas empresas =)
(Descargo de responsabilidad: trabajo en Treasure Data, que tiene varios clientes que utilizan nuestro servicio para recopilar, almacenar y procesar datos frente a Google BigQuery y AWS Redshift)