2018-02-05 - Sistemas masivos de ficheros y control de versiones

GitHub logo Cuando uno conoce los sistemas de control de versiones empieza a pensar en casos de uso y la tentación es utilizarlos para todo (¿por ejemplo tener un blog? Ja). No digo que sea el caso, pero me pareció interesante el anuncio Announcing GVFS (Git Virtual File System) que nació del paso de Microsoft a utilizar Git como sistema de control de versiones y las dificultades que suponía eso cuando el tamaño del código que manejan es suficientemente grande:

For example, the Windows codebase has over 3.5 million files and is over 270 GB in size. The Git client was never designed to work with repos with that many files or that much content. You can see that in action when you run “git checkout” and it takes up to 3 hours, or even a simple “git status” takes almost 10 minutes to run. That’s assuming you can get past the “git clone”, which takes 12+ hours.

El código de Windows tiene 3.5 millones de ficheros y ocupa más de 270 GB. Tenemos la tendencia a imaginar que hoy en día la informática puede gestionar casi cualquier cosa, pero la realidad es dura. Buscando la escalabilidad se inventaron el sistema de ficheros virtual basdado en Git (GVFS ,Git Virtual File System) que trata de ofrecer una vista transparente de toda esa información sin necesidad de tenerla descargada. De paso nos enteramos de algunas cifras que no siempre están claras para el sistema operativo de Microsoft.

Lo dejaron libre en GVFS y hay más comentarios interesantes en Scaling Git (and some back story).

Las noticias más recientes hablan incluso de Microsoft and GitHub team up to take Git virtual file system to macOS, Linux que sería una buena noticia para todos. Aunque no parece haber muchas noticias nuevas sobre el tema.

Escrito el 2018-02-05
Categorías: sistemas
Tags: gvfs git virtual filesystem sistema ficheros versiones