"Ryan King es ingeniero de Twitter y le dijo al blog MyNoSQL que están planeando cambiar su bases de datos en MySQL por una base de datos Cassandra debido a la escalabilidad y a la gran comunidad de desarrolladores . Actualmente Twitter funciona en un cluster de servidores MySQL con un sistema de cache que cada vez es menos efectivo debido a su crecimiento. Necesitan un sistema para crecer de forma mas automática y de alta disponibilidad (¿no mas fail wale?)."
#3:
#1 ¿Qué tonterías estás diciendo? MySQL no es gratuita, es libre. Y si es gratuita, ¿cómo es que puedfen cobrar por "cada usuario".
Tonterías que hay que leer.
#7:
#6 MySQL no se usa por inercia, se usa por su calidad, su facilidad de uso, su ligereza, su comunidad de desarrolladores etc.
Lo que ocurre es que cuando la aplicación da servicio a varios millones de usuarios es mucho mas recomendable usar una base de datos no relacional. Y mas twitter que no tiene que hacer ni una sola consulta con join.
#29:
La cuestión del cambio no es tanto "un motor u otro" sino "una filosofía de almacenamiento u otra". MySql es una base de datos relacional, basada en tablas y las relaciones entre ellas, mientras que Cassandra es una base de datos clave/valor, donde lo que se tiene es uno o más diccionarios en los que, para cada clave, se puede almacenar un valor.
Desde hace tiempo, las webs que necesitan escalar a lo bestia vienen usando mysql y poniendo por encima una cache en memoria (con memcached) que en realidad es como una base de datos clave/valor, pero que no es capaz de guardarse en disco. Lo que se acaba haciendo es un poco de contorsionismo con mysql para que los datos se puedan sacar de ahí y meter en el memcached de la forma más eficiente posible.
Al final, resulta que merece la pena plantearse si no es mejor tener una base de datos clave/valor, y que ella gestione qué va a tener en la caché en memoria, y qué va a ir guardando en disco para usar en otro momento. A mí me parece muy lógico que Twitter explore esa vía, y de hecho voy a estar atento a lo que digan en un futuro al respecto, porque desde luego va a ser toda una prueba de fuego para este enfoque totalmente clave/valor desde la raíz.
Espero haber arrojado un poco de luz
#13:
Una evidencia que no se menciona en ese artículo. ¿quién es el autor de los bindings de Cassandra para Ruby (lenguaje utilizado por Twitter)?
#9:
#4 En realidad, dado que la licencia es GPL, te da igual cuál sea la segunda licencia disponible. Puedes vender cualquier producto basado en MySQL, incluso derivado porque hayas modificado directamente su código. Eso sí, ateniéndote a las condiciones de la GPL.
La segunda licencia es una a la que te puedes acoger voluntariamente. De hecho, según dice la wikipedia "Users may choose the GPL,[29] which MySQL has extended with a FLOSS License Exception. It allows Software licensed under other OSI-compliant open source licenses, which are not compatible to the GPL, to link against the MySQL client libraries.[30]". Es decir, que no sólo es GPL si no que ha sido extendida para facilitar que enlaces librerías no GPL con MySQL.
Como digo, la segunda licencia te autoriza a NO seguir las normas de la GPL, por ejemplo, no estando obligado a redistribuir el código o los cambios que hayas hecho.
#13 Tenía entendido que los de Twitter dejaron atrás Ruby, y creo (digo "creo" porque ahora mismo no se si me estoy confundiendo con otro proyecto) que pasaron a Scala.
La cuestión del cambio no es tanto "un motor u otro" sino "una filosofía de almacenamiento u otra". MySql es una base de datos relacional, basada en tablas y las relaciones entre ellas, mientras que Cassandra es una base de datos clave/valor, donde lo que se tiene es uno o más diccionarios en los que, para cada clave, se puede almacenar un valor.
Desde hace tiempo, las webs que necesitan escalar a lo bestia vienen usando mysql y poniendo por encima una cache en memoria (con memcached) que en realidad es como una base de datos clave/valor, pero que no es capaz de guardarse en disco. Lo que se acaba haciendo es un poco de contorsionismo con mysql para que los datos se puedan sacar de ahí y meter en el memcached de la forma más eficiente posible.
Al final, resulta que merece la pena plantearse si no es mejor tener una base de datos clave/valor, y que ella gestione qué va a tener en la caché en memoria, y qué va a ir guardando en disco para usar en otro momento. A mí me parece muy lógico que Twitter explore esa vía, y de hecho voy a estar atento a lo que digan en un futuro al respecto, porque desde luego va a ser toda una prueba de fuego para este enfoque totalmente clave/valor desde la raíz.
#4 En realidad, dado que la licencia es GPL, te da igual cuál sea la segunda licencia disponible. Puedes vender cualquier producto basado en MySQL, incluso derivado porque hayas modificado directamente su código. Eso sí, ateniéndote a las condiciones de la GPL.
La segunda licencia es una a la que te puedes acoger voluntariamente. De hecho, según dice la wikipedia "Users may choose the GPL,[29] which MySQL has extended with a FLOSS License Exception. It allows Software licensed under other OSI-compliant open source licenses, which are not compatible to the GPL, to link against the MySQL client libraries.[30]". Es decir, que no sólo es GPL si no que ha sido extendida para facilitar que enlaces librerías no GPL con MySQL.
Como digo, la segunda licencia te autoriza a NO seguir las normas de la GPL, por ejemplo, no estando obligado a redistribuir el código o los cambios que hayas hecho.
Sin ser experto en sistemas, cada día estoy más convencido que el combo Apache+MySQL se usa por inercia, frente a otras alternativas como Cherokee, Lighttpd o, en este caso, Cassandra DB.
#6 MySQL no se usa por inercia, se usa por su calidad, su facilidad de uso, su ligereza, su comunidad de desarrolladores etc.
Lo que ocurre es que cuando la aplicación da servicio a varios millones de usuarios es mucho mas recomendable usar una base de datos no relacional. Y mas twitter que no tiene que hacer ni una sola consulta con join.
#7 Que no se me malinterprete. No quiero decir que me parezca que MySQL sea un mal motor de BDs. Pero como tu bien dices hay casos donde es mejor usar otros sistemas, Cassandra en este caso, PostGreSQL en otros.
Igualmente hay casos en que Apache no es la solución más óptima al lado de otras opciones también existentes, y también libres.
Sin embargo creo que en el 90% de los casos ni se plantea esta cuestión a la hora de iniciar un proyecto. De hecho solo hay que ver las ofertas de hostings que hay por ahí. Es muy difícil encontrar alguién que te ofrezca alguna que no sea Apache o MySQL, dejando aparte IIS+MsSQL, apenas hay alternativas.
El mismito problema teníamos en la nave Interprise. Que si actualizar el hardware de la computadora central utilizando un software libre o comercial. Al final optamos por software libre porque total como lo paga la federación intergaláxica de planetas unidos... Mister Spock ha hablado...
En el trabajo tenemos una base de datos MySQL con SEIS MILLONES de registros y 300Mb de datos y va como un tiro. Y eso que apenas tiene índices bien puestos y usa el viejo motor MySam.
No he probado otras, pero la verdad es que no veo necesidad de cambiar...
#34 sin ánimos de ofender, pero hay que tener bastante imaginación para comparar una base de datos de 300Mb con la de Twitter, y encima concluir que, por que la primera anda, el cambio es innecesario...!
#14 Postgresql dice, lo que te enseñaron en ESI es para que te familiarices con el lenguaje/comandos estándares que se utilizan en las bases de datos, no te flipes con el postgres.
#1#3 Hay dos tipos de licencia Mysql la GNU GPL y la de productos no GNU GPL, es decir... la licencia de uso de Mysql (que nada tiene que ver con los accesos de usuario) creo que solo se aplica en caso de re-distribución de una aplicación que no desarrollas bajo licencia GNU GPL, puedes tener un site comercial sin pagar absolutamente nada, mientras no lo redistribuyas vendiéndolo ya que se entenderá que parte de ese "paquete" que vendes es mysql... de no ser así muchos estamos infringiendo las condiciones. Mientras no exista redistribución yo entiendo que te puedes ceñir a la licencia GNU GPL. Este es el caso de twitter.
Y es que el problema nada tiene que ver con esto, es un problema de escalabilidad y disponibilidad, el CTO no es tonto y las bondades de column family o la consistencia eventual en proyectos de ese tamaño son bastante atrayentes
La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.
Comentarios
Una evidencia que no se menciona en ese artículo. ¿quién es el autor de los bindings de Cassandra para Ruby (lenguaje utilizado por Twitter)?
"Copyright 2009 Twitter, Inc."
http://github.com/fauna/cassandra
#13 Tenía entendido que los de Twitter dejaron atrás Ruby, y creo (digo "creo" porque ahora mismo no se si me estoy confundiendo con otro proyecto) que pasaron a Scala.
La cuestión del cambio no es tanto "un motor u otro" sino "una filosofía de almacenamiento u otra". MySql es una base de datos relacional, basada en tablas y las relaciones entre ellas, mientras que Cassandra es una base de datos clave/valor, donde lo que se tiene es uno o más diccionarios en los que, para cada clave, se puede almacenar un valor.
Desde hace tiempo, las webs que necesitan escalar a lo bestia vienen usando mysql y poniendo por encima una cache en memoria (con memcached) que en realidad es como una base de datos clave/valor, pero que no es capaz de guardarse en disco. Lo que se acaba haciendo es un poco de contorsionismo con mysql para que los datos se puedan sacar de ahí y meter en el memcached de la forma más eficiente posible.
Al final, resulta que merece la pena plantearse si no es mejor tener una base de datos clave/valor, y que ella gestione qué va a tener en la caché en memoria, y qué va a ir guardando en disco para usar en otro momento. A mí me parece muy lógico que Twitter explore esa vía, y de hecho voy a estar atento a lo que digan en un futuro al respecto, porque desde luego va a ser toda una prueba de fuego para este enfoque totalmente clave/valor desde la raíz.
Espero haber arrojado un poco de luz
#4 En realidad, dado que la licencia es GPL, te da igual cuál sea la segunda licencia disponible. Puedes vender cualquier producto basado en MySQL, incluso derivado porque hayas modificado directamente su código. Eso sí, ateniéndote a las condiciones de la GPL.
La segunda licencia es una a la que te puedes acoger voluntariamente. De hecho, según dice la wikipedia "Users may choose the GPL,[29] which MySQL has extended with a FLOSS License Exception. It allows Software licensed under other OSI-compliant open source licenses, which are not compatible to the GPL, to link against the MySQL client libraries.[30]". Es decir, que no sólo es GPL si no que ha sido extendida para facilitar que enlaces librerías no GPL con MySQL.
Como digo, la segunda licencia te autoriza a NO seguir las normas de la GPL, por ejemplo, no estando obligado a redistribuir el código o los cambios que hayas hecho.
#all Equivocacion....Me referia a SQL Server, no a MySQL, toma cagadón !!
Sin ser experto en sistemas, cada día estoy más convencido que el combo Apache+MySQL se usa por inercia, frente a otras alternativas como Cherokee, Lighttpd o, en este caso, Cassandra DB.
#6 MySQL no se usa por inercia, se usa por su calidad, su facilidad de uso, su ligereza, su comunidad de desarrolladores etc.
Lo que ocurre es que cuando la aplicación da servicio a varios millones de usuarios es mucho mas recomendable usar una base de datos no relacional. Y mas twitter que no tiene que hacer ni una sola consulta con join.
#7 Que no se me malinterprete. No quiero decir que me parezca que MySQL sea un mal motor de BDs. Pero como tu bien dices hay casos donde es mejor usar otros sistemas, Cassandra en este caso, PostGreSQL en otros.
Igualmente hay casos en que Apache no es la solución más óptima al lado de otras opciones también existentes, y también libres.
Sin embargo creo que en el 90% de los casos ni se plantea esta cuestión a la hora de iniciar un proyecto. De hecho solo hay que ver las ofertas de hostings que hay por ahí. Es muy difícil encontrar alguién que te ofrezca alguna que no sea Apache o MySQL, dejando aparte IIS+MsSQL, apenas hay alternativas.
#18 Siempre puedes contratar un servidor virtual y ponerle lo que te rote.
El mismito problema teníamos en la nave Interprise. Que si actualizar el hardware de la computadora central utilizando un software libre o comercial. Al final optamos por software libre porque total como lo paga la federación intergaláxica de planetas unidos... Mister Spock ha hablado...
Cuantas tonterías se leen en los comentarios...
Por cierto, ¿donde están los del "NoSQL no tiene futuro"?
#10 NoSQL no tiene futuro
... en las pymes.
#10 Pensaba que era un nuevo programa de laSexta: No Sé Lo Que Hicisteis (sí, saltando letras, es lo que me ha parecido al primer vistazo)
#42 ¿Sabes distinguir entre la versión Community y la Enterprise?
http://www.mysql.com/products/which-edition.html
Claro que puedes pagar por usar MySQL, del mismo modo que puedes pagar incluso por usar Ubuntu, porque se paga por el soporte majete.
Me vine a leer los comentarios a ver si alguien ha probado Cassandra,...alguien?, alguien?
En el trabajo tenemos una base de datos MySQL con SEIS MILLONES de registros y 300Mb de datos y va como un tiro. Y eso que apenas tiene índices bien puestos y usa el viejo motor MySam.
No he probado otras, pero la verdad es que no veo necesidad de cambiar...
#34 a parte de que los 300MB son bastantes pocos, sabes todo lo que tiene twitter? me parece normal que quieran mover a otros sistema más escalable.
Ahora creo que tienen unos 15mil twitts por minuto, son casi 22 millones de registros AL DÍA.
#35 justo lo que iba a comentar... seis millones de registros son lo que genera twitter en unas horas...
#34 sin ánimos de ofender, pero hay que tener bastante imaginación para comparar una base de datos de 300Mb con la de Twitter, y encima concluir que, por que la primera anda, el cambio es innecesario...!
#34
En las bases de datos pequeñitas, como la tuya, no hay problemas de escalabilidad.
Yo te puedo hablar de una que crece esos "6 millones/300 MB" cada día. Entonces sí que aparecen problemas, te lo aseguro
Más que el cambio de base de datos en concreto, lo importante es el cambio del tipo de base de datos, de relacional a no relacional.
No esta diciendo nada malo. Mysql tiene sus limites de la misma forma que sus grandes ventajas por agilidad y facilidad.
yo apostaria por PostgreSQL pero eso es cuestión de gustos.
#14 Postgresql dice, lo que te enseñaron en ESI es para que te familiarices con el lenguaje/comandos estándares que se utilizan en las bases de datos, no te flipes con el postgres.
#23 Deberías mirar las extensiones de PostgreSQL y alguna comparativa antes de hacer comentarios tan gratuitos.
http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,MySQL,and-PostgreSQL.html
#25 Si no digo que sea malo, pero esque no le veo sentido nombrarlo en este meneo.
Yo intente usar Simple DB para usar de remplazo del cache, pero el problema es que las consultas no estaban actualizadas al momento.
MySQL sí que es de pago cuando necesitas configuraciones avanzadas (clúster, etc).
#31 ¿En serio? http://dev.mysql.com/downloads/cluster/
#31 sí, en serio: http://www.mysql.com/products/enterprise/unlimited.html
#0 Es fail wale, no fail wail
#0 #2 fail whale
#0 #2 y #5 estais hablando del failgual de windows?
#0 #5 #2 o no más fail vale ... por poder...
#2 Es aquí donde no cabe duda? Gracias.
Es que MySql tiene el problema de ser gratuita, pero te cobran "licencia de uso" por cada usuario que se conecta a la BD...y eso es una pasta....
No sé cómo lo tendrán montado, pero seguro que les salía más barato y seguro ponerse una comercial, cuyo nombre no daré para no hacer publicidad...
#1 ¿Qué tonterías estás diciendo? MySQL no es gratuita, es libre. Y si es gratuita, ¿cómo es que puedfen cobrar por "cada usuario".
Tonterías que hay que leer.
#1 #3 Hay dos tipos de licencia Mysql la GNU GPL y la de productos no GNU GPL, es decir... la licencia de uso de Mysql (que nada tiene que ver con los accesos de usuario) creo que solo se aplica en caso de re-distribución de una aplicación que no desarrollas bajo licencia GNU GPL, puedes tener un site comercial sin pagar absolutamente nada, mientras no lo redistribuyas vendiéndolo ya que se entenderá que parte de ese "paquete" que vendes es mysql... de no ser así muchos estamos infringiendo las condiciones. Mientras no exista redistribución yo entiendo que te puedes ceñir a la licencia GNU GPL. Este es el caso de twitter.
Y es que el problema nada tiene que ver con esto, es un problema de escalabilidad y disponibilidad, el CTO no es tonto y las bondades de column family o la consistencia eventual en proyectos de ese tamaño son bastante atrayentes
#15, #8 #4 #3 Equivocación....Me referia a SQL Server, no a MySQL, toma patadón que he metido... !!
#17 Y SQL Server es gratuito?
#20 tampoco hay que quemarse, eh? que ya admitió el error
#1 ¿Pero qué dices, alma de dios?
#1
http://es.wikipedia.org/wiki/MySQL#Qu.C3.A9_licencia_utilizar
La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.
#1 HOYGAN LA MYQLS NO ES GRATIX PEO IO PUEDO JUANKEARLA PA TENER UZUARIO SIN PAJAR LISENSIA