Primer MediaVida Website Dare

BLZKZ

todo el mundo está desarrollando soluciones híbridas noSQL+SQL

1 respuesta
C

Como bien comenta #151, se están empezando a adoptar soluciones híbridas. Por la razón obvia que ya alguien ha mencionado de que lo bueno de una es lo malo de otra y viceversa. Y supongo que también por el miedo a algo relativamente nuevo.

En el proyecto que tenemos entre manos desde hace años en la empresa (CRM), el NoSQL sería un suicidio en tanto en cuanto hacer un group by en una consulta con enlaces de unas cuantas tablas es una auténtica odisea por no decir imposible. No me he pegado mucho pero eso me ha parecido. Sin embargo, me estoy planteando adoptarlo en los procesos tanto de normalización y deduplicación como en tablas resumen para KPIs al tratarse de tablas no enlazables con datos brutos.

Como alguien ha dicho por ahí, si algún forero tiene experiencia estaría bien que nos ilustrase. En breve lo mismo me pego con ello. Os contaré impresiones.

2
F

La verdad bastante buenos trabajos, y mas para probar cosas a pelo ( no-sql y demás ).

No subís código?

PD: Me hubiera molado ver blzkz ponerse de 0 con symfony a pelo jaja.

1 respuesta
BLZKZ

#153 yo lo tengo aqui https://github.com/blzkz/dare

Eso sí, está sin documentar xD, no es mucho código y es bastante legible, pero vaya, ya lo iré documentando.

PiradoIV

¿Quién es el de bazinga? ¬¬ xDDDD

Ninja-edit: Ya está corregido lo de las visitas, nada más que acepta ya una por IP.

1 1 respuesta
F

Ostras, que facilón parece codeigniter a simple vista, encima he leído que ya te hace las urls amigables.

Donde tienes el modelo, solo he visto una clase para conectarte a mongobd y prou.

Lo que no me entusiasma mucho es llamar al header, cuerpo y footer la verdad , luego te lías cuando te empiezas a colar creando divs.

N1Tr0s

#155 yo con mis casi 3000 amigos xD
edit: #158 no es un fallo, soy una persona muy sociable xD. Tb he probado a caturar la peticion que da de alta un mensaje para repetirla, pero de momento no he sido capaz (si lo consigo ya te darás cuenta). XD

JO! dejame probar por lo menos!!

1 respuesta
PiradoIV

#157 gracias por notificarme del fallo xD

Voy a limitar también la creación de nuevas ideas a 1 cada X minutos por IP.

#157 Bueno, tengo dos defensas para este problema, le he activado la protección CSRF y otra que no te deja enviar más de 1 idea por minuto (esta última no está activa hasta que no consigas saltarte la primera xD).

1 respuesta
B

#146 no soy experta en nosql , le pregunté cuales eran sus criterios para seleccionar una u otra por curiosidad y porque muchas veces se intenta matar moscas a cañonazos. Una base de datos bien estructurada relacional no tiene nada que envidiar en "performance" a nosql. Por ejemplo la búsqueda de tags si lo quieres escalable vas a terminar usando algún indexador tipo lucene solr o sphinx para tenerte que ahorrar consultas a bd.
Dejar la flexibilidad de relacionales simplemente por moda es tonteria. A no ser que seas facebook o twitter claro....

1 1 respuesta
PiradoIV

#159 no me entiendas mal, quería saber de verdad tu opinión xD

Dejando de lado el rendimiento, escalabilidad y todo lo demás, yo veo MongoDB muy cómoda para desarrollar muy rápido.

Por ejemplo, antes tenía el problema de que incrementaba el contador de visitas cada vez que alguien entraba en una de las ideas de la web. Dentro del documento de la idea, le añadí un array con las IPs de los visitantes, ahora comprueba si tu IP ya está dentro antes de hacer el incremento de visita.

Y claro, todo esto sin tener que retocar el esquema de la base de datos, migraciones, ni nada.

Vamos, que para proyectos pequeños también está genial.

2 respuestas
eXtreM3

#160 y qué es más rápido recorrer un array o una tabla?

2 respuestas
N1Tr0s

#161 Siempre va a ser mas rapido un array en js(supongo que ira asi) que hacer una consulta a un servidor. o eso es lo que yo tengo entendido

1 respuesta
eXtreM3

#162 y metes en el array un millón de registros? y los recorres con js...

PiradoIV

Ni idea de cómo lo hará Mongo... pero es que ya cuando tienes problemas de ese tipo, sí que te pones a refactorizar, antes no tiene sentido.

BLZKZ

#161 array, porque es un array al uso, tienes coste lineal.

En un sistema sql depende del SGBD, indices y polladas varias.

B

#160 Si, es que nosql te añade el campo en la colección si no existe automáticamente. De todas formas raramente se cambia el esquema de base de datos si el proyecto está bien definido. Evidentemente puedes usar nosql para proyecto pequeños pero usarlo solo porque es "nueva tecnología" no se yo....

http://www.devproconnections.com/content1/topic/examining-the-hype-around-nosql/catpath/database-development/page/2

Creo que esta frase lo dice todo:

"You are not Google." An unhealthy fixation on scalability at the cost of everything else is just an expensive distraction that gets in the way of work. While relational databases do not scale in the same way as NoSQL solutions do, that's not to say that they can't scale.
Of course relational databases can suffer performance problems. But businesses need to address those problems with knowledge, understanding, and expertise rather than hastily turning to the nuclear NoSQL option in hopes that it will obliterate their problems without any negative consequences.

Típico hype nosql:

Pepito:Tenemos un problema de rendimiento en el lado backend mysql
Juanito: (sin mirar la razón del cuello de botella ni ostias). Pasemos a nosql, dicen que es la polla en salsa y seremos más cool si lo anunciamos en nuestro blog.

1 1 respuesta
PiradoIV

#166 usarlo solo porque es "nueva tecnología"... deberían darme un euro cada vez que leo eso sobre NoSQL, si te refieres a que yo lo estoy usando simplemente por eso, no.

Ninja-edit: Pero es que no he hablado en ningún momento de rendimiento, no sé a qué viene eso.

1 1 respuesta
B

#167 En general me refiero, al principio todo es bonito pero luego tienes que reinventar la rueda en tu código para algo que en relacionales ya existia. Como yo lo veo, si algo te cubre el 100% de tus necesidades no hay que buscar más.

1 2 respuestas
BLZKZ

#168 pero pirado es cosciente de las limitaciones de noSQL y si lo usa es porque o para el son salvables o no le afentan en su desarrollo, no es una persona desinformada.

Yo por ejemplo para algo serio no usaria de momento mongoDB, no porque no sirva sino porque no se usarlo xD, pero TODAS las grandes empresas con problematica de Big Data en algún sitio tienen bbdd noSQL, desde SAP a Oracle, desde facebook a twitter.

Obviamente no es lo único que usan por la problematica que conlleva y por la tradición que hay con relacionales.

2 1 respuesta
B

#169 No lo digo por pirado sino por el hype nosql vs sql en general. Tienes razón pero el 99% no somos ni twitter, ni oracle ni facebook, ni ...
Para el resto de mortales las relacionales cubren el 100% de las necesidades. Ahi tienes a meneame que se pasa nosql por el forro y si bien no es un gigante como los anteriores citados de carga no van muy ligeros que digamos.

1 3 respuestas
PiradoIV

#168 yo no me ataría a las relacionales, no usar algo por ser nuevo tampoco es el camino... vamos, que probamos muchísimas cosas a diario y las descartamos, pero si descubres un yogur de fresa con trocitos y te gusta más que cualquier otro, no tiene nada de malo cambiarte al nuevo.

1 1 respuesta
BLZKZ

#170 sí, y también le han tenido que meter más chicha y optimizar todo al maximo xD

si noSQL existe no es por gusto, sino porque no se podía captar toda la informacion que circula por las redes (repito mírate algo de bigdata por google)

Y claro está, hay empresas que te montan datacenters si se lo pides y le puedes meter lo que quieras, o puedes contratar 1000 exadatas.

Pero saliendonos de eso, él te ha dicho que lo usa por comodidad, por no tener que hacer un diagrama ER, luego pasarlo a relacional, luego hacer la estructura de las tablas, normalizarlo y demás mierdas.

Con mongodb te pones a jugar con la base de datos desde el segundo 0 del desarrollo.

2 respuestas
B

#170, #172 los dos tenéis razón (aunque por una vez estoy más con umbranoide).

Y no creo que su post inicial fuera por criticar, si no por curiosidad. A mí el tema noSQL no me da buena espina tampoco, pero me mola que Pirado lo use para conocerlo, la verdad.

Has puesto el código #171? :S

2 respuestas
PiradoIV

#172 sí, no estoy buscando el rendimiento, en mis cutre-bases de datos de 1MB me da igual qué sistema usar, pero sí que merece la pena en la parte en la que estás desarrollando.

#173 yo le preguntaba porque realmente me interesaba su opinión, que siempre va a ser más profesional que la mía, no porque pensase que preguntase de mala fé. A ver si subo el código, que como no soy tan hipster como parezco, no sé usar git... me quedé en svn, así que voy a empaquetarlo en un .zip y todos tan contentos xD

PiradoIV

Estimadísima comunidad, ahí va el código de HelpSpain:

http://www.piradoiv.com/mvludum/1/src/piradoiv-helpspain-20121016.zip

¡Saludos!

1 respuesta
HeXaN

#170 ¿FB y Twitter no usaban SQL tradicional? Creo haber leído la cantidad de mejoras que implementó Twitter a SQL.

1 respuesta
BLZKZ

#176 si y no, para los datos en sí (tweets, comentarios y demás sí), pero a ellos lo que les interesa son los trending topics, los gustos de la gente, la información relevante que puedan vender que sus usuarios difunden sin darse cuenta y ahí es donde entra noSQL.

txandy

#175 bien bien, puedo dejar de acampar :)

PiradoIV

A ver si lo meto en Github, que moví las consultas a la base de datos ya a los modelos, pero bueno, para ver cómo funciona CodeIgniter sigue valiendo.

1 comentario moderado