Cuando una maquina no basta, repartelo
¿Que pasa cuando la informacion sigue acumulandose? Hasta un almacen grande se llena algun dia. Asi que creces a varios almacenes y repartes la carga entre ellos. Ademas, para no perder la carga si un almacen se derrumba, copias la misma carga en otro almacen. Los datos son iguales. Cuando una maquina no da abasto, repartes entre varias, y copias en varias para que nada se rompa.
Una maquina deja de bastar
Antes aprendimos que una base de datos
es un almacen gigante.
Guardaba a salvo y hallaba rapido.
Pero la informacion se acumula sin parar.
Las personas crecen, los registros crecen,
fotos y videos tambien entran.
Por grande que sea un almacen,
algun dia se llena y ya no cabe mas.
Llega un momento en que una maquina no basta.
Toca para seguir anadiendo datos. Cuando pasa la capacidad de una maquina, ya no cabe mas.
Una maquina quedo completamente llena.
Quieres anadir mas pero no hay sitio.
Cambias por un ordenador mas grande
y hasta ese se llena otra vez algun dia.
Hacer crecer una maquina sin fin
tiene un limite claro.
Asi que conviene cambiar de enfoque.
En vez de hacer crecer una maquina,
¿y si crecemos a varias?
Lo repartimos entre varias maquinas
La forma es mas simple de lo que crees.
Corta los datos en piezas
y espárcelas entre varias maquinas.
En vez de una maquina gimiendo bajo todo,
cada maquina toma solo una parte.
Por ejemplo, nombres de A a M en la maquina 1,
de N a Z en la maquina 2, ese tipo de reparto.
Trocear la carga y repartirla
se llama distribucion.
Tambien se llama sharding.
Toca una pieza para repartirla entre las maquinas. Cada una guarda solo parte del todo.
La carga se esparcio entre las maquinas.
El peso que cargaba una maquina se aligero.
Cuando los datos crecen mas,
solo anades una maquina mas.
Entonces las piezas nuevas van a la maquina nueva.
Como puedes seguir creciendo asi,
puedes guardar datos muy grandes.
Pero asoma una preocupacion.
¿Y si esa maquina muere de repente?
Guardamos una copia de lo mismo
Repartir tiene un punto debil.
Si muere la maquina que guarda una pieza,
esa pieza entera desaparece.
Asi que copiamos los mismos datos
en varias maquinas.
Aunque muera una maquina,
otra con una copia toma el relevo.
Asi los datos no se rompen.
Guardar lo mismo copiado entre maquinas
se llama replicacion.
Toca copiar para poner los mismos datos en varias maquinas. Apaga una y otra sigue viva, asi no se rompe.
Apagando una, siguio bien.
Gracias a la copia que aguardaba.
Aqui debemos distinguir dos cosas.
La distribucion, que reparte, trocea piezas
y las reparte a maquinas distintas;
la replicacion, que copia, guarda lo mismo
en varias maquinas, identico.
Distribucion es repartir; replicacion es copiar.
Se parecen pero son trabajos del todo distintos.
Un contenedor mas suelto, NoSQL
Pero cuando los datos son enormes
y deben entrar y salir muy rapido,
una tabla estricta mas bien estorba.
La regla de alinear las ranuras en orden
frena la velocidad.
Asi que usamos un contenedor con reglas sueltas.
En vez de tabla, cuelga un valor de una clave
y mete y saca directo.
Es el hash que vimos antes, agrandado.
Ese contenedor suelto se llama NoSQL.
Toca para comparar una tabla estricta con un contenedor clave-valor suelto. El suelto conviene al manejo enorme y rapido.
El contenedor suelto,
con menos reglas, es libre y rapido.
No hace falta alinear ranuras como una tabla;
con solo una clave metes y sacas un valor.
A cambio, la pulcritud de las filas alineadas
la sueltas un poco.
Que ganar y que soltar,
lo eliges segun el uso.
Para datos enormes y rapidos,
este contenedor suelto encaja bien.
Resumamos el area de datos
Hemos recorrido un largo camino hasta aqui.
Empezamos con un contenedor para valores,
vimos la base de datos que reune esos contenedores,
y aprendimos a hallar la fila que quieres
rapido en una tabla gigante.
El indice que crea un atajo,
las relaciones que enlazan tablas,
y el manejo que sigue a salvo si se corta a medias.
Y hoy vimos, cuando una maquina queda corta,
como repartirla y guardar copias.
Toca en orden los grandes hilos del area de datos para cerrarla. (contenedor -> base de datos -> busqueda rapida -> indice -> relaciones -> manejo seguro -> repartir y copiar)
Reunido en una linea, es esto.
Cuando los datos superan a una maquina,
los cortas y repartes entre varias (distribucion),
y copias en varias para que no se rompa (replicacion).
Repartir y copiar son trabajos distintos.
Para el manejo enorme y rapido,
usas NoSQL, un contenedor que afloja la tabla.
Este es el hash agrandado,
asi que es el puente hacia los datos enormes
de la inteligencia artificial que veremos despues.
Ahora el panorama de manejar datos
se ve de un vistazo.
Desde un contenedor pequeno llegamos
hasta una operacion enorme
que reparte y copia entre maquinas.
Guardar la informacion a salvo,
hallarla rapido y hacerla crecer,
este oficio se vuelve el suelo
que sostiene la siguiente area, la inteligencia artificial.
Donde se reunen los datos,
crece una maquina que piensa.