domingo, 1 de julio de 2018

Apache Cassandra es bueno para mi proyecto?


Como venimos viendo en este blog, Cassandra es genial. Una herramienta súper performante y muy configurable, pero Cassandra no es para todos los proyectos, ni la solución a todos los casos de usos.


  • Primera regla: Si es necesario una base de datos que corra en un solo nodo, elegir Cassandra no tiene mucho sentido. La potencia de Cassandra yace en poder correr en varios nodos. Si es necesario tener una base de datos en varios nodos, Cassandra podría ser una buena opción. Si se espera que su aplicación requiera docenas de nodos, Cassandra podría ser una excelente opción.
  • Segunda regla: Piense su aplicación desde la perspectiva de la relación de lecturas a escrituras. Cassandra está optimizado para un rendimiento excelente en las escrituras. Por lo tanto si tenemos que solo leer, Cassandra no es muy buena. 
  • Tercera regla: Cassandra no es bueno para hacer Data warehouse, es decir meto datos y luego veo como los consulto. En cassandra tiene que ser planteado como vamos a consultar los datos del día uno. 


Cassandra se ha utilizado para crear una variedad de aplicaciones, incluida una tienda , un índice invertido para la búsqueda de documentos y una cola de prioridad de trabajo distribuida.

Cassandra tiene soporte listo para usar para la distribución geográfica de datos. Puede configurar fácilmente Cassandra para replicar datos en múltiples centros de datos. Si tiene una aplicación desplegada a nivel mundial que podría ver un beneficio en el rendimiento al poner los datos cerca del usuario, Cassandra podría ser una gran opción.

Si su aplicación está evolucionando rápidamente y está en el "modo de inicio", Cassandra podría ser una buena opción dado su compatibilidad con esquemas flexibles. Hace que sea fácil mantener base de datos al día con los cambios de la aplicación a medida que se implementa rápidamente.