Llevo años siendo un fanático absoluto de Dropbox. Su demonio residente en segundo plano es una maravilla de la ingeniería que me ha salvado la vida incontables veces al sincronizar mis proyectos de código entre el PC de sobremesa y el portátil. Pero hace unas semanas, Google por fin movió ficha y lanzó su esperado Google Drive, transformando el antiguo Google Docs en un disco duro virtual completo.
La oferta inicial de 5 GB gratuitos frente a los miserables 2 GB con los que empiezas en Dropbox fue suficiente cebo para hacerme picar. He estado migrando mis cosas este fin de semana, y a nivel técnico, hay tela que cortar.
La magia negra de la sincronización: Inotify y deltas
Para el usuario medio, meter un archivo en una carpeta y que aparezca en otro ordenador es magia. Para los que picamos código, sabemos que detrás hay un complejo sistema de monitorización del sistema de archivos. En Linux, por ejemplo, esto se suele hacer con la API inotify, que avisa al demonio de sincronización en cuanto un archivo es modificado.
Aquí es donde he notado la primera gran diferencia técnica. Dropbox utiliza un algoritmo de sincronización delta (inspirado en rsync). Si tienes un archivo de Photoshop de 100 MB y cambias solo una capa, Dropbox trocea el archivo, calcula el hash de los bloques, detecta qué bloque exacto de 4 MB ha cambiado y solo sube eso a la red.
Google Drive, en esta versión inicial que estoy probando, parece mucho menos inteligente. En muchos ficheros grandes he notado que, ante una modificación menor, decide re-subir el archivo entero.
Por otro lado, Drive tiene algo que Dropbox no: la integración nativa con la suite ofimática en el navegador. Aún así, para sincronizar carpetas que están fuera del directorio oficial de Drive, sigo usando el viejo truco de los enlaces simbólicos desde la terminal de Windows:
:: Enlazar mi carpeta de proyectos en D:\ al directorio de Google Drive
mklink /D "C:\Users\user\Google Drive\Proyectos" "D:\Proyectos"
Funciona a las mil maravillas, engañando al cliente para que sincronice lo que yo quiero sin mover los archivos de su sitio original.
Reflexión: ¿El fin del almacenamiento local?
Esta guerra de almacenamiento en la nube, con Microsoft también apretando con su SkyDrive, me hace pensar que los discos duros locales gigantescos tienen los días contados para el usuario doméstico. Caminamos hacia un modelo de "thin clients" donde nuestro ordenador será solo una ventana a un servidor en la granja de servidores de Google.
Lo que me preocupa de Drive frente a Dropbox es la privacidad. Dropbox te cobra por almacenar bits. Google es una empresa de publicidad. Si subo el código fuente de mis proyectos personales o documentos financieros, sé que Google tiene la capacidad técnica de extraer palabras clave. A nivel corporativo, convencer a un cliente de subir sus bases de datos a la nube ya es difícil; meter los documentos de la directiva en los servidores de Google va a requerir mucha pedagogía sobre la encriptación y los términos legales de privacidad. La comodidad siempre tiene un precio, y hoy, estoy pagando con mis datos.