Spring GDS 25 Aniversario
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
NoSQL es una familia de bases de datos que almacenan datos sin la estructura rígida de tablas de los sistemas relacionales tradicionales. El nombre significa "not only SQL". Donde una base de datos relacional fuerza cada fila a un esquema fijo, NoSQL deja que la forma de los datos flexione, lo que encaja con aplicaciones donde los requisitos cambian rápido o los datos no caben con limpieza en filas y columnas.
No es una sola cosa, sino varias. Los almacenes de documentos como MongoDB guardan registros flexibles tipo JSON. Los almacenes clave-valor como Redis cambian estructura por velocidad pura. Los almacenes de columnas anchas como Cassandra reparten conjuntos de datos enormes entre muchas máquinas. Las bases de datos de grafos como Neo4j modelan relaciones directamente. Cada una resuelve un problema distinto. Un catálogo de productos donde cada artículo tiene atributos diferentes es un caso limpio para un almacén de documentos, ya que no te quedas embutiendo productos muy variados en un mismo set de columnas.
El intercambio frente a SQL es consistencia por flexibilidad y escala. Las bases de datos relacionales imponen estructura y fuertes garantías transaccionales, que es lo que quieres para dinero y pedidos. Muchos sistemas NoSQL relajan esas garantías para escalar horizontalmente y absorber el cambio de forma barata. La respuesta real rara vez es lo uno o lo otro. La mayoría de productos serios usan ambos, cada uno donde se gana su sitio.
Usamos NoSQL donde la flexibilidad y la escala importan más que la estructura rígida. Modelos de contenido que cambian, catálogos en movimiento, capas de caché, cualquier cosa que pelearía contra un esquema fijo. Elegir el tipo correcto es la mayor parte del trabajo, porque un almacén de documentos y uno clave-valor resuelven problemas genuinamente distintos.
La versión honesta de esta conversación es que NoSQL no es automáticamente moderno ni mejor. Tirar de él cuando una base de datos relacional te serviría bien crea dolor real más adelante, normalmente alrededor de la consistencia de datos. En nuestro trabajo de desarrollo web elegimos según cómo se comportan los datos y cómo crecerá el producto, y luego diseñamos el modelo para que encaje. Cuando NoSQL encaja, encaja bien. Cuando no, lo decimos.
¿No sabes si tus datos quieren SQL, NoSQL o ambos? Resolvámoslo.
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
Convertir una marca en un negocio que funciona.
Medio millón de personas. Una app. Cero caos.















