Platzi
Platzi

Suscríbete a Expert y aprende de tecnología al mejor precio anual.

Antes:$249
$209
Currency
Antes:$249
Ahorras:$40
COMIENZA AHORA
32

Implementación de bases de datos no relacionales - NoSQL

6525Puntos

hace 4 años

Las bases de datos NoSQL han cambiando la forma de resolver muchos problemas de almacenamiento y escalamiento de datos. En este artículo verás algunos de los problemas comunes que resuelve una base de datos no relacional y que podrás implementar en tu aplicación, sitio web o incluso un juego.

Full Page Cache

Redis y Memcache son dos bases de datos NoSQL muy utilizadas a la hora de aplicar la técnica de Full Page Cache para disminuir el tiempo de carga y el consumo de recursos en un aplicación web. Full Page Cache consiste en renderizar una página web y guardar el HTML en una base de datos, para que cuando otros usuarios soliciten el recurso pueda ser respondido casi de inmediato sin necesidad de hacer nuevamente un render de la página.

Esta aplicación está muy extendida y es importante en muchos tipos de aplicaciones acudir a una base de datos NoSQL para implementarla.

Query caching

Algunas veces no es posible realizar cache de todo el HTML de una página web, en esos casos se pueden implementar otra técnica como Query Caching.

Query Caching consiste en almacenar el resultado de una consulta a la base de datos, de esta manera si en el futuro se requiere la misma información se puede consultar rápidamente sin necesidad de hacer la consulta completa. Los motores de bases de datos como MySQL y Postgres ofrecen esta funcionalidad, pero con Redis también se podría hacer y obtener mejores resultados si tu aplicación es bastante concurrida.

Leaderboard

Es común en juegos crear una tabla de clasificación de jugadores con sus puntos para clasificación en un juego como League of Legends, Dota, Heroes of the Storm, Counter Strike. Estos juegos en línea y tiempo real requieren que los puntos estén actualizados y que la latencia de escritura y lectura sea baja.

heros of the storm.jpg

Redis ofrece esta posibilidad con ZADD, este tipo de datos es perfecto para implementar un sistema de clasificación en un juego e incluso para implementar gamification en tu aplicación.

Multi propósitos

mongo.png

Si deseas hacer una aplicación podrías usar NoSQL para cualquier cosa. MongoDB tiene el propósito de servir bajo cualquier circunstancia, es importante tener en cuenta qué podría necesitar tu software en el futuro y de esta manera poder complementar Mongo con algún otro motor de base de datos no relacional o con una base de datos SQL.

Yohan
Yohan
yograterol

6525Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
9839Puntos

esa tabla de calificaciones es muy buena.

1
24089Puntos

Muy buen artículo. A propósito del curso de Curso de MongoDB y Redis. ¿Podría considerarse como un previo al curso de MEAN?.

0
4888Puntos

Me llamo mucho la atención lo de full page cache.
¿Actualizarán el curso de mongo y redis incluyendo estos conceptos?

0
8160Puntos
4 años

Ya lo están actualizando 😄

0
7352Puntos

En todo caso si ya tuvieras una base de datos con tablas relacionales y quisieras migrar a una NoSQL en este caso a MongoDB, como debería ser el proceso?? o no se puede?

3
1093Puntos
4 años

Si puedes realizar la migración solo que debes de evaluar si en tu proyecto en recomendable que lo hagas ya que las bases de datos no relacionales no aplican según mi perspectiva para todos los proyectos.

La mayoría de los proyectos para los cuales estas bases de datos aplican son redes sociales, sistemas de búsqueda, cualquier aplicación donde se realicen grandes cantidades de búsquedas y necesite también real time allí es ideal.

Lo ideal es que investigues en cuales proyectos es mejor usar bases de datos no relacionales y en cuales no.

O indica de que se trata tu proyecto y que la comunidad te comente si es valido o no.

1
1093Puntos
4 años

En caso de que aplique puedes investigar sobre mongoose el ORM de MongoDB que le te ayuda con el tema de las relaciones y ahí a codear se ha dicho 😄

0
1200Puntos
4 años

Es cierto lo que comentas afilgueira a mi y un amigo nos toco ver un proyecto muy bueno (POS) usando mongo, no funcionaba como el cliente esperaba ya que al tener los tickets con clientes, varios tipos de descuentos, creditos, entre otros, al no ser relacional las consultas o paraban el navegador o simplemente mostraba otros datos.