2010/2/25 Fernando Parra <[email protected]>: > Se que esto no está relacionado directamente a Ruby, pero creo que es de > interés para la mayoría. > Actualmente estoy leyendo mucho sobre la movida NoSQL y opino que es un > paradigma muy necesario considerando los volúmenes de datos y las > necesidades que los sistemas de información presentan. > Ahora, me parece muy lindo el concepto, pero hay un caso que no me queda > claro de todas las explicaciones que he escuchado, y me hace sospechar que > por ahí las bases de datos relacionales siguen estando vigentes (dado que > hay muchos fanáticos que proponen desecharlas completamente). > El tema es el siguiente: supongamos un sistema comercial en el cual tendría > miles de datos en tablas maestras con información como: roles, países y > ciudades, códigos de productos, etc. Es muy probable (y sobre todo al > principio) que no se hayan realizado por ej, ventas de cierto producto, o no > se hayan asignado roles a ciertos usuarios, lo que se traduce en que un > registro de una tabla aún no se ha relacionado con otra al menos una vez. > En NoSQL se propicia la utilización de algoritmos Map Reduce del cual se > podría extraer de un set los datos que corresponden a valores únicos (por > ejemplo, los países que integran los usuarios de nuestro sitio), pero al > hacer esto no estaríamos tomando en cuenta todo el set posible. Nada me > suena mejor que un OUTER LEFT JOIN si estuviera utilizando SQL. > Si para solucionar esto agregáramos una colección conteniendo los datos de > lookup, estaríamos simulando una situación típica de una base relacional y > me parece que nadie lo recomendaría. > Me imagino esta situación en un sistema transaccional todo el tiempo. > Cual es la mejor aproximación??? > He leído por ahí que muchos mezclan bases relacionales con no relacionales, > lo cual me parece correcto, por que se estaría utilizando la mejor > herramienta para cada dominio. Pero, aún así, he leído de algunos > evangelistas NoSQL que no sería una buena práctica. Entonces?
Está bueno el planteo. Te parece pasarlo a código y vemos cuál sería la equivalencia? Si podés armate un ejemplo de cómo serían las tablas, el resultado que querés obtener y cómo lo obtendrías con SQL. Saludos, -- Michel _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
