¿Alguna vez te has preguntado cómo almacenar petabytes y petabytes de datos sin siquiera tener un solo disco duro?
No, no, no, no es ciencia ficción, sino la realidad de la arquitectura. Disco cero. Ya verás, es gracioso.
En un mundo Zero Disk, donde sus bases de datos ya no estarían limitadas por la capacidad de sus discos locales, podría aumentar o reducir su infraestructura con unos pocos clics, sin preocuparse por las limitaciones de hardware. Bueno, ¡este mundo ya existe gracias a la arquitectura Zero Disk y al almacenamiento en la nube S3!
Las bases de datos tradicionales como PostgreSQL o MySQL tienen una arquitectura que combina estrechamente el procesamiento de consultas (frontend) con el almacenamiento de datos (backend). Este enfoque nos encadena a nuestros discos duros como una bola y una cadena y, si necesitamos más espacio, tenemos que comprar discos nuevos. Y en caso de falla del hardware, es un desastre. ¡Sin mencionar la escalabilidad horizontal que se está convirtiendo en un verdadero dolor de cabeza en China!
Aquí es donde la arquitectura Disco cero entra en escena. La idea es sorprendentemente simple: en lugar de almacenar tus datos en discos físicos, los envías directamente a la nube, más precisamente a los discos duros de otra persona llamada amazon s3. Este servicio es la caja fuerte digital más confiable del mundo con su durabilidad once-nueve (99,999999999%). Básicamente, esto significa que si almacenas 10 millones de objetos hoy, podrías perder solo uno… ¡en 10.000 años!
De esta manera, en lugar de escribir directamente en un disco local, su aplicación envía sus datos a S3 en forma de objetos. Luego, estos objetos se replican automáticamente en diferentes zonas de disponibilidad para lograr la máxima disponibilidad. La arquitectura también proporciona una elasticidad notable: puede iniciar o detener instancias instantáneamente, sin preocuparse por la migración de datos.
Por supuesto, este enfoque presenta algunos desafíos, siendo el principal la latencia. De hecho, un acceso de red a S3 lleva más tiempo que un acceso a un disco local. Entonces, para solucionar este problema, son posibles varias estrategias:
- Lotes: en lugar de escribir cada página de 4 KB individualmente, las agrupamos en paquetes más grandes (por ejemplo, 512 KB) antes de enviarlas a S3.
- Caché inteligente: guardamos en la RAM los datos a los que se accede con frecuencia.
- Usando S3 Express Una Zona. Es una versión optimizada de S3 que ofrece latencias reducidas hasta 10 veces.
Creo que tienen dudas, especialmente los aficionados al autohospedaje, pero sepan que esta arquitectura ha demostrado su eficacia. Empresas como Copo de nieve, corriente de deformación o casa de clics ya lo hemos adoptado con éxito. Algunos incluso han desarrollado enfoques híbridos: por ejemplo, usar un clúster Raft como caché de escritura antes de persistir los datos en S3, optimizando así tanto el rendimiento como el costo.
Pero tenga cuidado: esta no es una solución universal. Si administra algunas bases de datos pequeñas, es posible que la complejidad adicional no valga la pena. Como comprar un tanque para ir de compras, es divertido cuando te llamas Lulu, ¡pero no es necesariamente práctico!
La verdadera magia de la arquitectura Zero Disk radica en su capacidad de transformar problemas complejos en soluciones elegantes. No más malabarismos con discos, RAID o copias de seguridad. Podrás concentrarte en lo que realmente importa: desarrollar tu aplicación.
¡Y las perspectivas son apasionantes! A medida que el rendimiento de S3 continúa mejorando, los costos bajan y se agregan nuevas funciones como escrituras condicionales, podemos imaginar un futuro en el que el almacenamiento local se vuelve tan obsoleto como los disquetes de 3,5 pulgadas. Un futuro en el que los desarrolladores puedan implementar aplicaciones masivas sin preocuparse por las limitaciones de almacenamiento. ¡¡Y donde los americanos tendrían aún más datos sobre nosotros!! (bueno, ¿qué?)
Y tal vez dentro de unos años, miremos nuestros viejos servidores equipados con discos duros y sonriamos, ¡tal como miramos los viejos módems de 56k hoy!
Fuente