¿PostgreSQL es bueno o malo para Big Data?

Big Data‘ es un término de marketing, no tiene requisitos técnicos claros. Lo describo tanto en términos de su variedad y volumen, como de su propósito:

  • Si tiene un modelo de datos exacto, entonces no es Big Data. Mil millones de transacciones de ventas requieren atención, pero generalmente son susceptibles a las técnicas estándar.
  • Una colección de ensayos es difícil de modelar pero encaja fácilmente en la RAM.
  • El último punto es el propósito. Veo grandes datos como encontrar patrones no obvios. Los datos deben almacenarse de una manera que permita algoritmos de minería de datos.

Diferentes personas definirán el término de manera diferente. Creo que su primer paso antes de elegir un conjunto de herramientas es resolver exactamente qué problema está resolviendo, es decir, reemplazar todas las palabras de moda con detalles.

Postgres es un RDBMS tradicional que es un punto en contra de él en términos de mis definiciones. Se puede escalar a un solo sistema grande, pero no es inherentemente adecuado para la agrupación en clúster: mil computadoras no pueden contribuir significativamente a un almacén de datos de Postgres. Del mismo modo, sus herramientas para manipular datos no estructurados son limitadas. Hay hstore para pares clave / valor. Existen módulos similares para XML.

En el lado positivo, tiene un montón de lenguaje incorporado, incluidos Python y R. Esto le permite escribir el código directamente en la base de datos en lugar de consultar la base de datos a través de ODBC o similar.

Como es gratuito, todos los usuarios pueden ejecutar funciones como la partición que los sistemas comerciales RDBMS solo proporcionan con licencias empresariales. El particionamiento es muy útil para problemas que generalmente encajan bien en el modelo RDBMS pero son demasiado grandes y, por lo tanto, obtenerlo de forma gratuita es una ventaja importante.

En general, es una mejor opción que SQL Server u Oracle, pero peor que los sistemas distribuidos (no SQL).

Malo. Es una base de datos relacional. Big data funciona mejor con bases de datos no relacionales.