Login Barrapunto
NoSQL, más allá del modelo relacional
En DosIdeas escribieron el pasado mes de junio un interesante artículo sobre NoSQL: el movimiento en contra de las bases de datos: «Una reunión en San Francisco fue la inauguración de la comunidad de NoSQL, un grupo de personas que comparten la idea de destronar la tiranía de las bases de datos relaciones, costosas y lentas, en favor de una alternativa mucho más eficiente y barata para manipular datos. "Las bases de datos relacionales nos ofrecen demasiado. Nos fuerzan a adaptar nuestros objetos para adaptarlos a una RDBMS (sistema de gestión de bases de datos relacional)", dice Jon Travis, uno de los principales ingenieros en SpringSource, y uno de los 10 presentadores en la reunión de NoSQL. Las alternativas basadas en NoSQL "te ofrecen sólo lo que necesitás", dice Travis».
Historias relacionadas
[+]
Relaja tu base de datos con Apache CouchDB 20 comentarios
Apache CouchDB es un motor de bases de datos que hace poco ha pasado de ser un proyecto incubado por la Apache Software Foundation a convertirse en un proyecto más de esta fundación. Según la definición que aparece en su página web, CouchDB es una base de datos orientada a documentos, distribuida, tolerante a fallos, "schema free" y accesible mediante una interfaz HTTP Restful que devuelve JSON. En InfoQ hace poco hacían una entrevista a su creador. ¿Habéis usado alguno/a este tipo de bases de datos alguna vez?. ¿Para qué tipos de aplicaciones veis acertada su utilización?
[+]
CouchDB: una base de datos diferente 15 comentarios
borillo nos pasa un enlace al artículo CouchDB: una base de datos diferente: «Podemos definir CouchDB como una base de datos documental sin 'esquema', consultable al estilo MapReduce, accesible por REST y con una funcionalidad de replicación integrada. Casi nada... será mejor que veamos cada una de estas características en más detalle».
[+]
Software Libre: Twitter planifica la migración de MySQL a Cassandra DB 27 comentarios
En Kushelmex, Thalles de Paula cuenta que Twitter cambia MySQL por Cassandra: «Ryan King es ingeniero de Twitter y le dijo al blog MyNoSQL que están planeando cambiar su bases de datos en MySQL por 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. [...] Cassandra fue desarrollado en un principio por los de Facebook y es un repositorio hecho en Java, la tecnología es similar a la ofrecida por otras bases de datos NoSQL. Otro que esta dejando las bases de datos MySQL es Digg que también estará migrando a Cassandra».
[+]
Software Libre: Tutorial de MongoDB 41 comentarios
borillo nos cuenta: «En esta nueva entrega de la serie dedicada a las bases de datos NoSQL vamos a ver qué es MongoDB, cómo instalarla y cómo empezar a trabajar con ella. Después del par de artículos dedicados a CouchDB, vamos a darle cancha a otra de las bases de datos NoSQL que más repercusión está teniendo ultimamente: Lee el tutorial completo de MongoDB».
[+]
Digg mejoró 40 veces el rendimiento por ordenar con PHP en lugar de MySQL 51 comentarios
Un pobrecito hablador nos cuenta: «En SigT han publicado una entrada titulada "Digg: mejora del rendimiento un 4000% por ordenar con PHP en lugar de MySQL" que es una traducción de una entrevista a Joe Stump CTO de SimpleGeo y anterior líder de arquitectura de Digg, originalmente publicada en High Scalability. ¿Se están imponiendo en sitios de gran tráfico el uso de BBDD No-SQL en lugar de los RDBMS de toda la vida?. ¿Es sólo una moda?»
Este hilo ha sido archivado.
No pueden publicarse nuevos comentarios.
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

No saben lo que dicen
(Puntos:1, Divertido)Una base de datos relacional es simple, rápida, segura y poco costosa (en terminos de almacenamiento y de IO). Es la evolución natural para el paradigma del almacenamiento de información y se atreven a cuestionarlo dando alternativas que no satisfacen ni un 60% las necesidades de la sociedad.
Sólo puedo entender desde mi experiencia como doctor en tecnologías de la información y profesor de universidad que se trata de un bulo para darse simplemente publicidad viral.
Fórmula para captar la atención
(Puntos:2, Inspirado)1.- Te inventas un nuevo "movimiento".
2.- Criticas una tecnología cualquiera (por ejemplo, las bases de datos relacionales).
3.- Dices que tu nuevo "movimiento" se parece a Google.
Los puntos 1 y 2 son clásicos, la novedad estriba en el punto 3.
Base de datos dedicada
(Puntos:2)No soy experto en Oracle, pero me cuesta creer que éste pudiera encajar en el modelo de Google por ejemplo. En el artículo hablan de 6 petabytes en miles (o millones?) de PCs low cost que dan una repuesta rapidísima.
Es posible que por ello Google triunfara en su día, porque hace 10 años era impensable una base de datos de semejante tamaño que devolviera respuestas con página incluida en menos de 100ms.
Cada cosa vale para lo que vale
(Puntos:1)He leído varios comentarios en los que se desprestigia esta iniciativa porque en entornos empresariales sólo se usan modelos relacionales.
Lo que hay que aclarar es que la gente de NOSQL tiene unos objetivos muy diferentes a los de la mayoría de entornos.
Si nos fijamos en la lista de ponentes de la conferencia, vemos a gente de Facebook, Google o LinkedIn.
Estas empresas tienen requisitos de acceso a datos muy distintos de los que tenemos en la mayoría de empresas.
Pongamos el caso de Facebook. Si vemos sus estadísticas [facebook.com] vemos que tienen más de 300 millones de cuentas!
Por eso esta gente utiliza un modelo diferente al relacional. No es que no les guste, es que no pueden porque con una base de datos relacional el número de consultas necesarias para mostrar una sóla página sería demasiado grande.
Entonces tienen que recurrir a técnicas que los acostumbrados al modelo relacional vemos extrañas: desnormalizar tablas, replicar la misma información en varias tablas para disminuir el número de consultas, mantener todo el contenido en memoria y mucho más que a mi se me escapa.
Afortunadamente el común de los mortales podremos seguir trabajando con nuestros Oracles, MySQLs, DB2 y demás. Más que nada porque en la mayoría de los casos, nuestros productos nunca tendrán ni una cuarta parte de los usuarios que tienen sitios como Facebook o Twitter :-)
En
Vuelven las bases de datos orientadas a objeto?
(Puntos:1, Inspirado)Asimov
(Puntos:3, Inspirado)db4o
(Puntos:1)El goto de los datos
(Puntos:2)El SQL no ofrece ninguna diferencia semantica sobre el acceso por hash, por indice, recorriendo la tabla entera, anidando, etc... Vamos que para el SQL un O(1) es equivalente a un O(n^2) y un programamor poco escrupuloso (o que le meten mucha presión para tener el código para ayer), puede no distinguirlos.
Tampoco ofrece diferencias entre almacenar y buscar. Recuperar las facturas de la empresa es lo mismo que recuperar las facturas mayores a 1000.
Lo bueno de usar sistemas limitados donde una hash llame a una funcion distinta a un range, y donde las joins esten ultra prohibidas es que te permite distribuir, escalar y sobre todo, programar dinamicamente, llevarte trabajo a los crones, y dejar los datos en su sitio para luego recuperarlos de memcache en O(1). El objetivo es que una web solo acceda a datos en O(1) o a todo lo mas en O(log n). Aunque se siga usando un SQL de motor de persistencia.
Claro, los sistemas de baja latencia no son comunes, y siempre debes de preocuparte de resolver los problemas de tus clientes, a soñar con que tu aplicación va a ser un google.
Anda tu, que guai
(Puntos:1, Inspirado)Es decir, a ver si lo entiendo, pretenden volver a un invento como lo que se usaba por ejemplo en los bancos en los 70 con Cobol y ficheros de datos con estructuras y procedimientos de acceso, búsqueda y demás escritos específicamente para el problemo X, solo que en vez de Cobol y un mainframe va a ser con (insertese lenguaje POO de moda aqui) y los datos serializados esparcidos por un cluster de servidores PC de los de andar por casa.
Entiendo que a Google, Facebook y demás eso les funcione dadas sus especiales necesidades pero ¿ realmente saldría rentable/mejoraría algo en la mayoría de los casos ?
Re:En el mundillo corporativo TODO es relacional.
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 16 Noviembre de 2009, 23:33h )
Nota: este comentario ya sale con 2 puntos. No gastéis demasiados +1 en él ;)
Marcos (cualquier parecido con la coincidencia es pura realidad)
Re:En el mundillo corporativo TODO es relacional.
(Puntos:2)( http://rvr.linotipo.es/ | Última bitácora: Lunes, 22 Febrero de 2010, 07:28h )
El problema de "estos tíos" es el de aplicaciones web con grandes necesidades de escalabilidad: Google, Facebook, Digg, Last.fm, LinkedIn y otros.
Víctor R. Ruiz
rvr en blogalia.com
Re:En el mundillo corporativo TODO es relacional.
(Puntos:4, Interesante)una presentación era "Infinite Scalability", de un tal Jonas S Karlsson que tiene la manía de trabajar en Google (http://www.lysator.liu.se/~jsk/CWI/)...
Busca un poco y RTFA antes de meterlos a parir x"D
Re:En el mundillo corporativo TODO es relacional.
(Puntos:4, Interesante)Por otro lado, volviendo al "todo relacional", los datos por si mismos no son relacionales, y no influyen sobre decidir una base de datos relacional, de red o clave-valor. Son simplemente datos. El programador decide si quiere usar Oracle o ficheros de texto plano para solventar el problema de su gestión. Y la verdad, la obsesión del mercado por usar únicamente bases de datos relacionales para todo, demuestra lo cortos de mira que son muchos desarrolladores/jefes de proyecto, que aprenden a usar un martillo para clavar un clavo, y luego terminan usándolo hasta para freir un huevo.
En mi honesta opinión lo que sufrimos es una moda que se llama SQL/relacional, y cuando la gente se canse de SQL/relacional se pasará a la siguiente moda que vete a saber como se llamará. Lo único que veo en el artículo es un caso de éxito donde unos pocos que han sido capaces de escapar de una moda "de comerciales de oracle" y han elegido el modelo de datos más adecuado para el problema que barajaban.
Re:Es un hype
(Puntos:2)( http://barrapunto.com/ )
Se nota que no has usado Spring en tu vida, o que si lo has usado no has entendido la filosofía que lleva detrás. Es cierto que el módulo de IoC es muy utilizado, pero hay más. Ejemplos
-Utilizarlo con JDBC en lugar de JDBC solo, aparte de ahorrarte la apertura/cierre de conexiones, te va a simplificar MUCHO el código. Lee : http://static.springsource.org/spring/docs/2.5.x/
-Ah! y si me ibas a decir algo de hibernate... lee esto http://static.springsource.org/spring/docs/2.5.x/
-Tambien es interesante la integracion con jUnit
-Tabien tiene su modulo de MVC (aunque no lo he usado, así que no se como será de bueno o de malo)
En fin, que spring es algo más que un framework que genera singletons.
Sin acritud
Saludos
_____________________________
Mis ladrones [www.sgae.es] favoritos.
Re:Diferencia entre software y vaporware
(Puntos:1, Informativo)Dos: http://www.mongodb.org/ [mongodb.org]
Tres: http://aws.amazon.com/simpledb/ [amazon.com]
Entonces esto es software, ¿no listillo?
Sin acritud.
Re:En el mundillo corporativo TODO es relacional.
(Puntos:1, Interesante)Hay sistemas mejores de hacer las cosas.