Trabajo en una gran base de datos (cientos de GB) y Mysql ahora me da más o menos satisfacción. Dudo en cassandra en el lanzamiento.¿Por qué nosql con cassandra en lugar de mysql?
Lo que quiero saber todo antes, por lo que este tipo de DBMS NoSQL se supone que es más rápido que MySQL?
varios puntos:
El cambio en el número de columna de una fila en MySQL, todos ellos deben ser definidos con antelación. Las columnas se establecen en la estructura de la tabla. NoSQL en, se pueden variar. ¿Hay un rendimiento de diferencia real en una estructura fija? y por qué ?
No haga que la relación sea beneficiosa para el rendimiento. Ok, pero no estoy obligado a hacer una tabla relacional Mysql. Utilizo tablas agregadas, es decir, tablas que contienen solo datos derivados de otras tablas, I para evitar las uniones demasiado caras. ¿De nuevo qué nivel de diferencia de rendimiento si uso este modelo en Mysql? Para tomar un ejemplo, el autor de http://www.rackspacecloud.com/blog/2010/05/12/cassandra-by-example/ inserte X veces el seguidor en el mensaje USERLINE empujador. Podría hacerlo en MySQL.
Escalabilidad, escalabilidad, escalabilidad ... Me gusta, ¿me permite cassandra almacenar mis datos en diferentes servidores (sin SAN)? No estoy hablando aquí de replicación, hablo de un solo servidor NoSQL en múltiples servidores físicos.
En vivo en los cálculos. MySQL proporciona funciones como SUM, AVG ... que son muy útiles para evitar que vuelva a agregar mis datos en otras tablas. No he visto el equivalente cassandra?
¿Qué pasa con los índices. En Mysql indexo varios campos en uno. Por ejemplo, mis tablas tienen una clave principal en varias columnas y selecciono están en funcional. Casandra sobre cómo escribirlo? ¿Concatenado para un identificador único para cada fila? Creo que no he captado por completo la gestión de los índices. ¿Se recalculan para la integración o en sentido ascendente?
Las solicitudes asincrónicas. Un argumento falso que me parece, Mysql se puede hacer con INSERT/UPDATE LOW_PRIORITY.
Creo que voy por ahí. Gracias por iluminarme
No entiendo por qué hay una diferencia en el rendimiento, en los casos en que la estructura de datos es igual, dado que no veo que mysql no pueda hacer en comparación con cassandra (de lo contrario datos desestructurados). Actualmente corro en SAS HD 15k tr/min, y alcanzo el límite de mi espacio libre disponible en un servidor. Así que tengo la opción de crear una SAN (solución muy costosa) o moverme a un DBMS escalable en almacenamiento (y si está optimizado entonces es el más rápido), o de nuevo, una solución de software para apuntar al servidor que contiene mis datos objetivo (pero tomar mucho tiempo para dev). – Xorax
@Xorax: ¿Qué quiere decir "en los casos en que la estructura de datos es igual"? Si está viendo diferencias de rendimiento significativas, entonces las estructuras de datos probablemente no sean iguales. No vas a vencer a la mayoría de los motores SQL fácilmente. Si SQL es demasiado lento para su aplicación, sospecho que necesita agregar índices en los lugares correctos. O eso, o necesitas desnormalizar un poco tus datos. –
@BillyONeal Tiene un punto muy sólido allí, por qué necesita cambiar de MySQL a algún otro DBMS cuando no tiene sentido cambiarlo, pero a veces confiando en simplemente un DBMS no puede ser tan completo como se requiere. Twitter está utilizando MySQL para todos los requisitos de datos de usuario y Cassandra para sus herramientas analíticas. – FaizanRabbani