Soluciones para bases de datos grandes

Uno de los retos que sueles encontrarte en el mundo de las bases de datos a nivel técnico es que sean capaces de almacenar muchos millones de documentos (filas) y a la vez sean capaces de encontrar el resultado (una aguja en un pajar) en muy pocos milisegundos.

Si tienes un proyecto pequeño y una base de datos que se maneja en gigas de datos, las soluciones son sencillas de implementar. Con algunos ajustes en la capa de aplicación (si los puedes meter) y alguna que otra capa de cache, tu base de datos rejuvenece unos cuantos años.

Si la base de datos ya es de un tamaño considerable y hablamos de teras de información, es probable que ya tengas oídos los términos como cluster, sincronización, maestro y esclavos, además de las expresiones “necesitamos más disco”, “el backup va muy lento” o “¿puedo tener una copia en local?” que pueden hacerte perder la cabeza por momentos.

Dependiendo del proyecto, puedes apoyarte en la arquitectura, gastando un buen montón de euros adicionales para mejorar la respuesta de tus bases de datos.

Pero, si no dispones de presupuesto para montar un Oracle Exadata y Oracle Coherence (por poner un ejemplo famoso) y tu proyecto puede aprovecharse de una base de datos NoSQL, es muy interesante que le pegues un vistazo a MongoDB.

Con MongoDB puedes crear de forma muy sencilla una plataforma que puede crecer tanto en redundancia (ReplicaSet) como en almacenamiento (Sharding), manteniendo siempre un muy buen nivel de capacidad de respuesta.

La configuración es bastante sencilla y amigable. Entrar a nivel de detalle de configuración te llevará muy poco tiempo y podrás hilar muy fino (si tu proyecto lo requiere) para configurar y adaptar las máquinas de bases de datos a tus necesidades. Con pocos euros, obtendrás unos resultados que pocos te podrán discutir.

Para medir esos resultados no hace falta que montes un Munin o un Ganglia que muestre las gráficas típicas que te dan mucha información interesante de un simple vistazo. Puedes utilizar el servicio de MongoDB Management Service (MMS) para ello. Instalando un simple agente en tus nodos, en pocos minutos tendrás toda una lista de gráficas muy completas que mostrarán información ordenada de que está ocurriendo con tu base de datos.

MongoDB Management Service

En la captura de arriba se pueden ver las gráficas de un par de nodos de un ReplicaSet. En el MMS puedes organizar uno o más tableros donde colocar las gráficas que te interesan para cada cosa concreta, haciéndote la vida más fácil si necesitas ver el estado de tu granja de servidores de base de datos de un vistazo.

Yo he implementado MongoDB + MMS ya en bastantes nodos de distintos proyectos y entornos productivos. La ventaja de tener en muy poco tiempo toda una solución compleja de base de datos lo convierte en un producto muy, muy, muy interesante para proyectos donde se trabaje con grandes cantidades de datos.

¿Todavía no lo has probado? ;)

SpokenPic Launch

Hoy he tenido la suerte y el privilegio de presenciar el lanzamiento de SpokenPic junto a Ricardo Galli y el equipo de APSL en sus oficinas.

Aunque ha coincidido con algunos pequeños problemas de Twitter justo en esos momentos, lo que ha dado pie a detectar y corregir, en tiempo record, algunos pequeños bugs de la aplicación que han mejorado aún más en calidad a pocos minutos de aparecer en el Market de GooglePlay.

SpokenPic lauch

SpokenPic es una aplicación para Android que permite realizar fotos con tu móvil y añadirles un comentario de voz o cualquier otro sonido que se te ocurra, publicarla y compartirla en la red en pocos segundos.

Desde el primer momento en que pude probar la “pre-beta” ya tenía claro que sería una killer app y según voy viendo como avanza y como está cociéndose por dentro (el equipo es realmente un lujo de personal), estoy cada vez más convencido.

He vuelto a sentir eso que se siente cuando estás en la oficina de una “start-up”. Esas ganas de hacer cosas, esas ganas de hacerlo bien, esas ganas de disfrutar con lo que se hace. Reconozco que se me ha vuelto a despertar el gusanillo que llevo dentro de estar en sitios así.

Aprovechando la ocasión, ya que desde que cambié de trabajo no he parado de trabajar duro en la oficina y apenas tengo vida social, he sacado la cámara y he tirado algunas fotos. He publicado una pequeña galería en mi cuenta de flickr con el nombre: SpokenPic Launch.

SpokenPic lauch

SpokenPic lauch

SpokenPic lauch

SpokenPic lauch


¿Todavía no tienes la App de SpokenPic en tu Android? ¿A que esperas? Podrás subir fotos como las que yo subo a mi perfil en SpokenPic.

¿Cuál es el tuyo? :)

Trabajando duro en la oficina

Hoy he conseguido tener una de las cosas que hace que me sienta cómodo en mi mesa de trabajo, un segundo monitor. Para no perder la costumbre, le he tirado una foto ahora que está cogiendo forma.

Mi mesa de trabajo en la oficina

La verdad es que me queda trabajo por delante para ir adaptando mis gustos a la mesa, mezclando anteriores tendencias:

El poco tiempo que llevo en el nuevo trabajo, reconozco que lo estoy pasando muy bien, por que no hay nada como tener buenos recursos en el trabajo, disponer de apoyo logístico y moral en el proyecto, tener a personas importantes (en la pantalla) presentes, estar con gente que se siente cómoda en su puesto y dispuestos a celebrar sus éxitos contigo.

Si a todo esto añadimos las alertas de Nagios a las cosas importantes, el placer de trabajar aumenta más todavía.

Pero lo mejor del lugar donde trabajo es la gente con la que me rodeo, de las que tengo mucho, mucho, mucho que aprender. Así que, mientras me dejen, pienso seguir divirtiéndome con ellos cada día un poco más. :)

Nueva sección de Precios en Habitissimo

Entre otras muchas cosas divertidas que he podido hacer en las oficinas de habitissimo, como celebrar a nuestra manera la Halloween con desayuno incluido o atender a los interesantes consejos de nuestro conejo electrónico (que tiene twitter propio: @nabitissimo), creo que una de las más divertidas ha sido jugar con la base de datos de la web, que ya tiene una cantidad importante de datos, para crear la sección de Precios de presupuestos y reformas.

Aunque está todavía en fase beta, ya que seguramente todavía se le apliquen algunos cambios estéticos y algunos otros interesantes que prepararemos en breve, ya ofrece información interesante catalogada por provincias y categorías.

Precios_de_referencias_por_categoria_y_provincia

Con la suma de los datos de los más de 50.000 presupuestos y más de 80.000 negocios y profesionales que actualmente tenemos en la web de España (esta sección en otros países se activará más adelante), se pueden mostrar datos interesantes tanto para los profesionales de cualquier sector de las categorías como para cualquier persona que esté interesado en pedir presupuesto de cualquiera de ellas.

Por ejemplo, si te interesa reformar tu vivienda y estás en Alcorcón (Madrid), puedes ver el precio medio de reformas viviendas en Alcorcón con datos como estos:

Precio_medio_reformas_viviendas_Madrid_Alcorcon

Además, puedes ver cual es el precio por hora que suele cobrar un profesional del sector en esa zona y compararlo con otras zonas.

Precio Medio / Hora en Reformas Viviendas Madrid Alcorcón

Y si lo que tienes es una urgencia, los datos también pueden serte útiles.

precio_medio_hora_urgencias_reformas_viviendas_Madrid_Alcrocon

Si eres un profesional de cualquiera de los sectores, estos datos también pueden serte muy útiles. Además, a los profesionales registrados en la web les podremos ofrecer en breve una serie de información más que interesante para tener en cuenta a la hora de ofrecer sus presupuestos.

De todas formas, si te interesa profundizar un poco más en la sección, puedes leer el apunte en el blog oficial titulado Compara tus presupuestos con los precios del mercado, donde lo explica muy bien.

Hacía tiempo que no me divertía tanto con números, medias, gráficas y demás. Desde que deje de jugar con el código de BolsaPHP no había vuelto a escribir código de ese tipo.

¿Que te parece la nueva sección de la web? ¿Te parece útil? ¿Has probado ya en buscar los precios de tu provincia?