Pregunta

¿Cuáles son los argumentos a favor y en contra de usar Greenplum en vez de PostgreSQL en una aplicación web (django) ¿ambiente?

Mi reacción intestinal es preferir el enfoque de código abierto de PostgreSQL y la gran base de conocimiento.

Mi configuración (aunque me encantaría saber sobre cualquier otra configuración) es un negocio de tamaño mediano con 2 servidores web y (en este momento) 2 servidores de bases de datos.

Las áreas para contraste son binarias data crunching, número de nodos en el replication Y mi favorito personal: communitiy support y soporte de ingenieros calificados.

¿Cuáles son los pros y los contras de usar Greenplum en lugar de PostgreSQL?

¿Fue útil?

Solución

No sé mucho sobre GreenPlum, excepto por descomponer rápidamente el enlace que envía. Un almacén de datos no es lo mismo que un almacén de datos operativo transaccional. El primero es para consultas ad hoc, análisis estadístico, análisis dimensional, acceso más leído a datos históricos. Este último es para la lectura/escritura de datos operativos en tiempo real. Son complementarios.

Supongo que quieres PostgreSQL.

¿Quién te está empujando Greenplum y por qué? Si se presenta como una alternativa, profundizaría y refutaría el argumento.

Otros consejos

Greenplum es una adaptación MPP de PostgreSQL. Está optimizado para almacenamiento y/o análisis en grandes conjuntos de datos y no funcionaría tan bien en un entorno transaccional. Si necesita un entorno DW grande, mire Greenplum. Si necesita OLTP o tamaños de DB más pequeños (menos de 10 TB), mire PostgreSQL.

Dado que Greenplum utiliza el procesamiento paralelo, habrá una sobrecarga con la ejecución de muchas pequeñas consultas de lectura, ya que el nodo maestro necesita comunicarse con los nodos de datos subyacentes para recuperar respuestas a todas estas consultas. Para una consulta que tome milisegundos, espere un orden de magnitud más lento para Greenplum.

Si está buscando una solución de almacenamiento de datos basada en PostgreSQL, también vería GridSQL. Es una capa de paralelización en múltiples instancias de PostgreSQL, y es de código abierto y abierto.

Como mencionado en otros comentarios, no funcionará bien para muchas pequeñas consultas de milisegundos, pero lo ayudará enormemente para consultas de larga duración. GridSQL tampoco incluirá optimizaciones de DW como el almacenamiento columnar que tiene Greenplum, pero puede aprovechar la partición de exclusión de restricciones (Ej: rango de subjuicios por fecha) combinados con el paralelismo para obtener los resultados de su consulta más rápido.

También puede usarlo en un solo servidor de múltiples núcleos, ya que PostgreSQL solo usará un solo núcleo al procesar una consulta.

Greenplum es un DBMS analítico MPP (OLAP). PostgreSQL es un OLTP DBMS. Y en general, no hay una solución única en el mercado que pueda ser buena tanto en OLAP como en OLTP al mismo tiempo, puede encontrar mis pensamientos al respecto. aquí

El backend de la aplicación web siempre creará carga de trabajo OLTP. Greenplum tiene una gran sobrecarga para el procesamiento de transacciones, ya que es un sistema distribuido, por lo que no espere que esto le brinde más de 500-600 TPS. Postgres en contraste puede ir a cientos de miles de TP con el ajuste correcto.

Por el contrario, cuando necesita una carga de trabajo OLAP, Postgres puede ofrecerle solo un procesamiento de host, sin partición con eliminación de partición dinámica, sin compresión, sin almacén de columnas. Mientras que Greenplum podría superar sus datos en paralelo en el clúster.

Por lo tanto, la solución que está buscando es un caso de almacén de datos típico: use la solución OLTP para una alta carga de trabajo transaccional, extraiga los datos al DWH con ETL/ELT y luego ejecute consultas complejas de datos que se cruje de datos en ella.

Por el momento, tanto PostgreSQL como Greenplum son productos de código abierto, por lo que puede elegir cualquiera de ellos, pero porque la comunidad PostgreSQL es un cajero automático más grande

Creo que Greenplum aprovecha mejor el procesamiento paralelo. Sin embargo, se basa en PostgreSQL.

Greenplum tiene un Edición comunitaria gratuita. Siempre puede descargar y probar en su propio entorno.

Si algún crujido de datos lleva más de una hora, obtendrá aumentos de rendimiento lineal para cada núcleo que agregue. Realmente no vale la pena el esfuerzo para nada que lleva menos tiempo para atravesar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top