Creo que no todas los data-store no relacionales se manejen con map-reduce, creo que hay varios q usan :hashing así que el lookup seria en tiempo constante (habría q ver para una gran cantidad de objetos-hash seria mejor un árbol ?) . De cualquier manera una ventaja de las bases relacionales es que son buenas en transacciones.
2010/2/25 Michel Martens <[email protected]> > 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 > -- Federico Brubacher fbrubacher.github.com Colonial Duty Free Shop www.colonial.com.uy
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
