← Nivel 4 – Data pro

Lección 1 de 6 ⏱ 20 minutos Vista previa gratuita

Por qué los datos desaparecen al reiniciar

Descubre por qué el libro de visitas olvida los mensajes cuando el servidor se apaga – y qué vamos a hacer al respecto.

Qué pasa bajo el capó

En el Nivel 3 guardamos los mensajes en un array en la memoria:

const vzkazy = [
  { jmeno: "Martin", text: "First message!" },
];

Eso funciona genial – mientras el servidor siga en marcha. Pero cuando lo paras (Ctrl+C) y lo vuelves a arrancar, el array está vacío. Los mensajes se han ido. ¿Por qué?

Porque la RAM (la memoria del ordenador) es como una pizarra en el aula: cuando te vas, alguien la borra. Para guardar cosas de forma permanente necesitas un disco – un archivo o una base de datos.

💡

Disco frente a memoria: un archivo en el disco sobrevive a un reinicio. Un array en server.js no. Por eso las webs grandes usan bases de datos – MySQL, PostgreSQL, SQLite. Empezaremos con SQLite: una base de datos en un solo archivo, sin instalar ningún servidor extra.

Te lo muestro: qué pasa tras un reinicio

  1. Arranca el servidor de la lección del libro de visitas (node server.js).
  2. Envía un mensaje nuevo desde React.
  3. Para el servidor (Ctrl+C) y arráncalo otra vez.
  4. Actualiza la página en el navegador – el mensaje ha desaparecido.

Esto no es un bug del código. Es una propiedad de la memoria. Y ahora ya sabes por qué existen las bases de datos.

Ahora tú 💪

  1. Repite el experimento de arriba y apunta (quizá en notas de tu proyecto) exactamente qué pasó.
  2. Abre server.js y busca la línea con const vzkazy = [...]. Añade un comentario: // WARNING: this disappears after a server restart!
  3. Piensa en tu propio proyecto: ¿qué no debería desaparecer en la web de tu cole, club o diario? (¿horario? ¿fotos? ¿mensajes?) – anota 2–3 cosas.

Compruébalo: Entiendes la diferencia entre memoria (temporal) y disco (permanente). En la siguiente lección aprenderás Git – para hacer copias de seguridad del código en disco y en internet. Después SQLite – para guardar los mensajes para siempre.

Lo que te llevas de esta lección