database - tutorial - cassandra windows
¿Por qué no comienzas con un servidor Cassandra "único y pequeño" como generalmente lo haces con MySQL? (4)
En respuesta a la última parte de su pregunta
"¿No podemos comenzar con aplicaciones basadas en Cassandra como MySQL, comenzando con 1 o 2 VPS y agregando más cuando sea necesario?"
Definitivamente podría comenzar escribiendo aplicaciones en Cassandra. Construí una aplicación bancaria sobre cassandra y funcionó bien. Tenía un clúster de 6 nodos y usé Cassandra 1.1. Casssandra tiene una consistencia de datos sintonizable que varía desde una consistencia muy fuerte (soporte de transacciones) hasta una consistencia eventual.
Definitivamente podría comenzar con un VPS y ampliarlo según lo necesite. Cassandra es escalable y la adición de nuevos nodos da como resultado un aumento lineal en el rendimiento.
Para más, puedes ver este video:
Enlaces Útiles :
http://www.datastax.com/docs/1.1/initialize/cluster_init
http://www.datastax.com/2012/01/how-to-set-up-and-monitor-a-multi-node-cassandra-cluster-on-linux
Para cualquier sitio web que recién comienza, la carga inicialmente es mínima y crece inicialmente con un ritmo lento. La gente usualmente comienza con sus sitios basados en MySQL con un solo servidor (*** que también es un VPS no dedicado) funcionando tanto como servidor de aplicaciones como como servidor de bases de datos y usualmente llega demasiado lejos con esta configuración y solo cuando sienten la necesidad separan la base de datos del servidor de aplicaciones dándole un servidor VPS separado. Esto es lo que una empresa de nueva creación espera que suceda mientras planifica la adquisición de recursos.
Pero hasta ahora lo que he visto, es algo muy diferente con Cassandra. La gente generalmente recomienda comenzar con al menos un clúster de 3 nodos (en servidores dedicados) con mucha y mucha RAM. Para comenzar, son 4GB u 8GB de RAM. Entonces, es que Cassandra requiere más recursos de hardware en comparación con MySQL, para que un sitio web ofrezca un rendimiento similar, sirva una carga / tráfico similar y la misma cantidad de datos. Entiendo acerca de los mayores requisitos de almacenamiento de Cassandra debido a la replicación, pero ¿qué pasa con otros recursos de hardware?
¿No podemos comenzar con aplicaciones basadas en Cassandra como MySQL? ¿Comenzando con 1 o 2 VPS y agregando más cada vez que hay una necesidad?
Editar:
No quiero comparar manzanas con naranjas. Solo quiero saber la situación más peligrosa en la que podría estar cuando empiece con una instalación de cassandra basada en VPS de un solo nodo Vs una instalación MySQL basada en VPS de un solo nodo. Diferencia entre estas dos situaciones. ¿Los servidores de cassandra son más propensos a no estar disponibles que los servidores MySQL? Lo que es malo si pongo a Tomcat junto con Cassandra ya que la gente usa LAMP stack en un solo servidor.
TL; DR;
Incluso puede comenzar con un solo nodo, pero pierde el factor altamente disponible de c *.
Cassandra está diseñado para sistemas que manejan grandes volúmenes de datos, terabytes y en algunos casos petabytes . Muchos usuarios generalmente cambian de MySQL (y muchos otros RDBMS) a Cassandra una vez que descubren que su sistema DB actual no puede manejar la carga de datos de manera eficiente (las consultas se vuelven lentas, la gestión del almacenamiento se convierte en un reto, etc.)
¿Por qué 4-8GB gb de ram?
Los 4 a 8 GB de RAM tienen que ver con la JVM y el tamaño de ram en la recolección de basura eficiente. El consejo es que no se debe comenzar con 8 GB, pero no debería tener más de 8 GB
Esto no significa que no puedas usar Cassandra para iniciar un solo nodo en una máquina muy básica (algunas personas realmente tienen cassandra ejecutándose en una pi de frambuesa ).
¿Por qué la gente recomienda 3 nodos?
La disponibilidad es uno de los principales puntos de venta de cassandra. Si tiene 2 nodos con RF
= 2, no podrá realizar escrituras si un solo nodo deja de funcionar. Si tiene 3 nodos, puede realizar tanto lecturas como escrituras.
La gente generalmente recomienda comenzar con al menos un clúster de 3 nodos (en servidores dedicados) con mucha y mucha RAM. Para comenzar, son 4GB u 8GB de RAM.
Las recomendaciones de hardware de Cassandra suelen ser para personas que tendrán cientos de GB de datos. Puede salirse con la suya teniendo menos si no tiene muchos datos. Puede sintonizar JVM hasta solo usando un montón de 512 MB o 1 GB en cassandra-env.sh.
¿No podemos comenzar con aplicaciones basadas en Cassandra como MySQL? ¿Comenzando con 1 o 2 VPS y agregando más cada vez que hay una necesidad?
Sí tu puedes. Pero, si quiere sacar el máximo provecho de Cassandra, definitivamente debe comenzar con al menos dos servidores, tres si necesita poder usar QUORUM para mantener la coherencia, y aún así soportar que un nodo baje.
Si bien nunca he ejecutado un sistema de producción en servidores tan pequeños, he ejecutado un clúster de QA continuamente disponible en máquinas virtuales con 4 GB de RAM y 2 núcleos. Y para tamaños de datos pequeños, he visto a otros ejecutar clusters con tan solo 2 GB de RAM.
Lo bueno de Cassandra es que cuando necesitas más, es muy fácil agregar nuevos nodos al clúster. Y si desea mover su clúster a un hardware más potente, en lugar de simplemente agregar más, puede agregar fácilmente los nuevos cuadros más grandes y luego eliminar los más pequeños.
Actualizar:
Aquí hay una publicación reciente sobre cómo conseguir que Cassandra se ejecute con un montón de 64 MB:
La respuesta corta es que absolutamente puede comenzar con un único nodo pequeño.
Lo que creo que otras personas están tratando de sugerir que no hagas es que aprendes diferentes cosas dependiendo de cómo configures tu sistema.
Un solo nodo no tiene alta disponibilidad, pero si recién estás empezando a experimentar con Cassandra, probablemente sea un problema. No tendrás mucha exposición sobre cómo hacer copias de seguridad, cómo ajustar las cosas y obviamente cómo fallar ... pero en tu caso probablemente no te importe.
Podrás aprender sobre la codificación con y para Cassandra y si vienes de un RDBMS tradicional que es un obstáculo mucho más grande y más importante.
Vea si le gusta el modelo de datos. Vea si le gusta el diseño sin esquema. Si superas todo lo que puedes, entonces te preocupas por cómo escalar.
Haz tu otra pregunta: un clúster Cassandra de un solo nodo, incluso ejecutándose en una máquina pequeña, incluso si compartir esa máquina con otros servicios no debería ser más "peligroso" que ejecutar MySQL en una configuración similar.