¿Por qué Facebook NO UTILIZA Git?
Summary
TLDREl artículo explora por qué Facebook optó por utilizar Mercurial en lugar de Git, a pesar de la mayor popularidad de este último. Se revela que los problemas de rendimiento de Git eran un cuello de botella para la productividad de Facebook, con tiempos de ejecución lentos para operaciones básicas. La respuesta de Git a sus problemas fue no muy cooperativa, sugiriendo simplemente dividir el repositorio, lo que llevó a Facebook a buscar ayuda en el equipo de Mercurial, que resultó ser más dispuesto a colaborar y mejorar el sistema para sus necesidades específicas. Esto resalta la importancia de la colaboración y la adaptabilidad en el mundo del control de versiones.
Takeaways
- 📜 Facebook no utiliza git, sino Mercurial como sistema de control de versiones.
- 📈 Mercurial es una alternativa menor en tamaño comparado con git, que ocupa alrededor del 1-2% del mercado.
- 🚀 La razón principal para migrar a Mercurial fue el rendimiento, ya que git resultó ser demasiado lento para sus necesidades.
- 🔍 Facebook experimentó cuellos de botella de productividad debido a problemas de rendimiento con git.
- 💡 Las mejoras de rendimiento incluyen trabajar con historiales grandes, clonado y pull, lo que se mejoró hasta en 10 veces la velocidad con Mercurial.
- 📊 Un git status en Facebook tardaba 39 minutos y un git blame 44 minutos, lo cual era inaceptable para la productividad.
- 🔄 La respuesta de git ante los problemas presentados por Facebook fue no muy cooperativa, sugiriendo dividir el repositorio en varios.
- 🤝 En contraste, el equipo de Mercurial mostró una mayor apertura para colaborar y ayudar a Facebook a hacer las mejoras necesarias.
- 📈 La decisión de Facebook de utilizar Mercurial se basó en la disposición de su equipo para colaborar y solucionar los problemas de rendimiento.
- 🌐 La información sobre la migración de Facebook a Mercurial y las conversaciones relacionadas son públicas y disponibles para su revisión.
Q & A
¿Por qué Facebook no utiliza git?
-Facebook no utiliza git porque optó por Mercurial, una alternativa que ofrecía mejores rendimientos en situaciones de grandes repositorios y históricos.
¿Cuál es la cuota de mercado de git frente a Mercurial?
-Git tiene una cuota de mercado del 90%, mientras que Mercurial es alrededor del 1% o 2%.
¿Qué problemas de rendimiento tenía Facebook con git?
-Con git, Facebook experimentaba problemas de rendimiento significativos, como tardar 39 minutos en ejecutar un comando `git status` y 44 minutos en realizar un `git blame`.
¿Cómo afectaron estos problemas de rendimiento a la productividad de Facebook?
-Los problemas de rendimiento de git convirtieron en un cuello de botella para la productividad de Facebook, afectando seriamente su capacidad para manejar su crecimiento rápido.
¿Qué mejoras de rendimiento menciona el artículo sobre Mercurial?
-El artículo menciona mejoras en el clonado y el pull, y que trabajando con Mercurial era hasta 10 veces más rápido que trabajar con git en situaciones de grandes repositorios.
¿Qué fue la respuesta de git ante los problemas reportados por Facebook?
-La respuesta de git fue que no podían hacer mucho, y sugirieron dividir el repositorio en diferentes ones para manejar el tamaño del historial.
¿Qué hizo Facebook después de que git no ofreciera soluciones satisfactorias?
-Después de no recibir una respuesta satisfactoria de git, Facebook consideró alternativas y se volvió hacia Mercurial, que estuvo más abierto a colaborar y ayudarles con las mejoras necesarias.
¿Qué es la razón principal por la que Facebook se decidió por Mercurial?
-La razón principal es que el equipo de Mercurial estuvo más abierto a la colaboración y ayudó a Facebook a crear nuevos patrones y mejoras para manejar su gran repositorio.
¿Qué se puede inferir sobre la toma de decisiones en casos de uso claro con repositorios gigantes?
-En casos de uso claro con repositorios gigantes, la elección de una herramienta de control de versiones no siempre depende de su popularidad, sino de la capacidad de la herramienta para solucionar los problemas específicos que se enfrentan.
¿Qué pasó con la comunicación entre Facebook y el equipo de git?
-La comunicación entre Facebook y el equipo de git no resultó en una solución para los problemas reportados, lo que llevó a Facebook a buscar alternativas y migrar a Mercurial.
¿Qué se puede aprender de este caso sobre la colaboración en el desarrollo de software?
-Este caso demuestra la importancia de la colaboración abierta y la disposición de los equipos para ayudar en la mejora de las herramientas, ya que puede ser clave en la adopción de una tecnología en lugar de otra.
Outlines
📈 Por qué Facebook utiliza Mercurial en lugar de Git
Este párrafo aborda la decisión de Facebook de utilizar Mercurial en vez de Git para su sistema de control de versiones. Se menciona que, a pesar de la popularidad y el gran mercado de Git, Facebook optó por Mercurial debido a problemas de rendimiento que experimentaban con Git. Se destaca que Mercurial resultó ser más rápido en tareas como el clonado y el pull, mejorando significativamente la productividad. Además, se menciona una experiencia pasada de Facebook con Git, donde un comando simple como 'git status' tomaba 39 minutos en ejecutarse, lo que indicaba una gran lentitud y un cuello de botella en la productividad. Finalmente, el vídeo destaca la razón clave de la migración: un correo electrónico de Facebook a Git solicitando ayuda, que fue respondido con una propuesta poco cooperativa, lo que llevó a Facebook a buscar soluciones alternativas y a encontrar una mejor colaboración con el equipo de Mercurial.
🤝 Colaboración con Mercurial frente a la falta de mejoras en Git
Este párrafo narra la experiencia de Facebook al buscar mejoras en Git y la respuesta que recibieron. Al no encontrar una solución satisfactoria y ante la falta de mejoras significativas por parte de los desarrolladores de Git, Facebook se giró hacia Mercurial. La colaboración con el equipo de Mercurial resultó en mejoras significativas en el rendimiento y nuevas funcionalidades que atendían a las necesidades específicas de Facebook. El vídeo subraya la importancia de la colaboración y la apertura a nuevas soluciones, más allá de la popularidad o el tamaño de un proyecto, como es el caso de Mercurial frente a Git. Además, se menciona que la decisión de Facebook fue motivada por la efectividad y disposición de Mercurial para adaptarse a sus necesidades, en contraste con la respuesta no tan cooperativa de Git.
Mindmap
Keywords
💡git
💡Mercurial
💡rendimiento
💡código fuente
💡repositorios
💡colaboración
💡problemas de rendimiento
💡clonado
💡pull
Highlights
Facebook no utiliza git, sino Mercurial.
El artículo sobre por qué Facebook no utiliza git es interesante y revela la historia detrás de su elección.
Mercurial es una alternativa menor pero efectiva frente a git, que tiene una cuota de mercado del 90%.
El uso de Mercurial por parte de Facebook se debe a problemas de rendimiento con git.
Revelan que trabajando con Mercurial mejoró significativamente el rendimiento en clonado y pull.
El artículo de 2014 explica que Facebook experimentó un cuello de botella de productividad debido a git.
Un git status en Facebook tardaba 39 minutos, lo que indica la magnitud del repositorio y los problemas de escala.
El equipo de Facebook solicitó ayuda a git para mejorar la performance, pero la respuesta no fue cooperativa.
La respuesta de git sugirió dividir el repositorio en varios para abordar los problemas de rendimiento.
Facebook consideró que la respuesta de git no era una solución práctica para manejar su base de código.
El equipo de Mercurial mostró una mayor disposición a colaborar y ayudar a Facebook con sus problemas específicos.
Facebook migró a Mercurial debido a la mejor disposición al colaboración y la capacidad de mejorar el rendimiento.
El caso de Facebook muestra que la elección de un sistema de control de versiones puede depender de la disposición de la comunidad a la colaboración.
El artículo demuestra que la popularidad no siempre es el factor determinante en la elección de herramientas tecnológicas.
La experiencia de Facebook con git y Mercurial destaca la importancia de la performance y la escalabilidad en el control de versiones.
El intercambio de correos electrónicos entre Facebook y los equipos de git y Mercurial es público y puede ser revisado por cualquiera.
Transcripts
Facebook no utiliza git lo sabías me he
leído este artículo y me ha parecido tan
interesante Por qué Facebook no utiliza
git y de hecho una cosa Este título
ponerle un textp es bastante interesante
la historia es bastante interesante os
voy a hacer el spoiler de qué es lo que
utiliza Entonces si no utiliza git qué
utiliza pues utiliza Mercurial que ya os
digo yo que el el uso que tiene
Mercurial es muy pequeño respecto a git
Pero sigue siendo una de las grandes
alternativas de git lo que pasa es que
git tiene una cuota de Mercado del 90 y
pico por c y Mercurial debe ser no sé el
uno o el dos es muy poquito yo de hecho
Mercurial lo utilicé hace 10,000
millones de años en la universidad la
pregunta del millón es esta Por qué no
usa git no y aquí te explican un poco la
historia y tal buscando resulta que aquí
aunque es del 2014 fijaos que est este
artículo es de meta es del 2014 pero
aquí está hablando justamente de Por qué
eh ves en lugar hemos mejorado Mercurial
Mercurial no sé qué básicamente en este
artículo explican que se camb
por un tema de rendimiento vale Esto es
lo que dicen aquí por un tema de
rendimiento porque git les iba demasiado
lento y resulta que tuvieron como un
cuello de botella de productividad muy
pronto por los problemas de rendimiento
de git interesante la verdad es que está
muy chulo el artículo Y entonces
explican Por qué utilizan Mercurial las
mejoras de rendimiento trabajar en
historiales muy grandes mejorar el
clonado y el Pull y que mejoraron hasta
por 10 eran 10 veces más rápido
trabajando con Mercurial que trabajando
con git O sea que bastante veis aquí git
Remote file lock basic hg este sería el
el que tenían antes de Mercurial esto
sería con git y esto sería lo que
estaban haciendo ahora y bueno podéis
ver la mejora de rendimiento en redes y
todo esto pero no es esta la razón Esa
es la historia Esta no es la red Esta no
es la razón Lo cual es más interesante
todavía leyendo el artículo en realidad
eh ves o sea por el rendimiento no Por
qué Y cómo Facebook migró de git Por qué
17 millones de líneas de código en 44000
archivos o sea Tremendo la verdad es que
es bastante grande Pues en realidad la
razón es este correo que no sé si
cargará este correo este correo
ch Esta es la razón Esta es la verdadera
razón bueno básicamente lo voy a lo voy
a resumir bastante rápido vale porque no
lo vamos a leer Y tal Pero básicamente
aquí lo que tenéis dice Hola amigos de
git somos Facebook y hemos estado
investigando que nuestro sistema de
control de versiones git tiene que
manejar nuestro crecimiento que es muy
rápido y hemos utilizado un montón git y
pero no no se está escalando y tal para
que os hagáis una idea un git status nos
tarda 39 minutos esto alguna vez os ha
pasado un kit
status 39 minutos en en frío y 24
segundos ya calentito o sea claro
Imagínate cómo tiene que ser repositorio
comoo tiene ser la cosa bueno o por
ejemplo un git blame 44 minutos un git
at 7 segundos un git at 7 segundos si
haces un comit un comit con un no verify
quitando los archivos no tracket quiet
no status 41 minutos call o sea es una o
sea es que es una salvajada es una
salvajada es que es increíble bueno Esto
es lo que dice Facebook pero Es que es
que es que la
respuesta es brutal tío La respuesta es
lo que le dice el de Facebook es Oye
tenemos estos problemas eh hemos visto
que la performance de git pues es un
poco regulinchi habría que mejorar
algunos puntos aquí entonces me gustaría
saber si se pueden hacer algunas
modificaciones mejor no sé qué sé cuánto
y básicamente lo que dicen por aquí es
del palo
Mira no podemos hacer mucha cosa lo
mejor que que podéis hacer es que lo
dividis en diferentes repositorios que
dividis que os acabéis un poco con el
tema del historial Y al tomar por saco
básicamente le contesta Esto vale le
contesta esto que creéis esto y ya está
no y aquí pues este sigue aquí como
bueno Esto lo otro aquí tenéis el
histórico no sé qué y continúan pero
básicamente lo que le dice es que lo
dividas en repositorios y ya está que no
es mi problema sabes que no me vengas
aquí a con problemas entonces Esa fue la
razón la razón es que cuando fueron a
git git les solucionó una patata
básicamente dijeron not my Problem dice
mientras puedes hacer esto no es una
gran idea lo que deberías hacer es
dividir los repositorios Vale y punto he
estado trabajando en una empresa durante
muchos años y lo mejor que puedes hacer
es migrar lo todo y a tomar por saco
Aunque puede ir bien git para
repositorios grandes lo mejor que puedes
hacer es nada que lo dividas y a tomar
por saco o sea y ya está no entonces lo
que dice aquí que la respuesta no era
muy cooperativa que a ver tampoco es que
le insulte ni mucho menos pero era más
bien de nosotros no podemos hacer nada
Esto es lo que hay entonces qué pasó
Claro que git pues no parecía que iban a
hacer ningún tipo de mejora respecto
para intentar hacer esto y al final lo
que pasó eh lo que hicieron es más que
nada pues considerar alternativas y
cuando fueron a mercurian a pedir ayuda
y tal Pues sí que estuvieron mucho más
abiertos justamente a ayudarles a crear
nuevos patrones a hacer todas las
mejoras que fuesen necesarias Y a partir
de ahí es que esa es la razón por la que
utilizaron Mercurial porque básicamente
básicamente estaban más abiertos a la
colaboración lo cual me parece muy
interesante porque hay veces que
pensamos no es que por qué no usan git
es que están locos o yo que sé Claro
tienen un caso de uso muy claro con un
monor repositorio gigante y cuando
fueron a pedir ayuda a git Que
obviamente ellos no están obligados a
darle ayuda a Facebook ni mucho menos
pero quiero decir que hay veces que no
es un tema de popularidad o lo que pueda
tener más sentido sino que simplemente y
llanamente es porque le ayudó el otro
equipo y punto ya está porque le ayudó
el otro equipo y punto y y ya está buo
repos no tan gigantes es Sí y Mercurial
contento con la posibilidad claro
totalmente me parece lógico por parte de
Facebook en este caso no Claro tiene
todos los todo el sentido del mundo
ostia midu quién filtra estas cosas no
si es público si es público al final
todo lo que habéis visto es totalmente
público no hay nada absolutamente raro
ni o sabes o sea se lo podéis ver sin
ningún problema e los mails todo los
mails es un intercambio de
conversaciones que hay públicas eso lo
puedes ver sin ningún
problema
浏览更多相关视频
GIT COMO NUNCA TE LO EXPLICARON: Qué es GIT y como usar un sistema de control de versiones.
iRacing | Which GT4 is best? | GT4 Comparison | Watkins Glen Boot
Martin Shkreli Explains How To Become Successful
Mark Zuckerberg en 5 Minutos o más
todo mundo debería saber programar (español)
La Meta - Película (Goldratt)
5.0 / 5 (0 votes)