گیتهاب معماری ذخیرهسازی Git رو از نو میسازه
خلاصهٔ کاملتر
گیتهاب اعلام کرده که معماری ذخیرهسازی Git خودش رو از صفر بازنویسی میکنه و تو تستهای داخلی، سرعت نوشتن ۳۵ برابر بهتر شده. به گزارش The Register، دلیلش هجوم ایجنتهای هوش مصنوعیه: ترافیک گیتهاب از سپتامبر ۲۰۲۵ تا آگوست ۲۰۲۶ از ۲۱۸.۲ میلیارد به ۴۷۳.۳ میلیارد رویداد در ماه رسیده و فقط تو سپتامبر ۷.۳۸ میلیارد commit ثبت شده، یعنی ۵ برابر سال قبل.
این فشار روی پایداری هم اثر گذاشته. طبق گزارش دسترسپذیری گیتهاب، فقط تو آوریل ۱۰ رخداد باعث افت عملکرد شد و تو مه هم ۹ تای دیگه. Brian Celenza، مهندس ارشد گیتهاب، تو بلاگ این شرکت نوشته که باید زیرساختی بسازن که خوندن و نوشتن همزمان و مداوم رو تو مقیاسی تحمل کنه که کمتر مخزنی امروز بهش رسیده. البته هیچ زمانبندیای برای این مهاجرت اعلام نشده.
معماری فعلی که اسمش Spokesـه، از یه three-phase commit استفاده میکنه، یعنی هر نوشتن باید از چند مرحله هماهنگی بین نسخهها رد بشه. نسخهی کامل هر مخزن روی چند دیسک محلی نگه داشته میشه و هر write باید از یه quorum (یعنی حداقل تعداد لازم از نسخهها) تأیید بگیره. این روش قابل اعتماده، ولی هر push به اندازهی کندترین نسخهی لازم برای quorum کند میشه.
تو معماری جدید هر commit فقط یه بار تو Azure Blob Storage نوشته میشه. این سرویس object storage خودش replication و افزونگی رو مدیریت میکنه، پس گلوگاه quorum کلاً حذف میشه. درخواستهای خوندن هم به یه مسیر جدا میرن که workerهای سبک جوابشون رو میدن و تنها نقطهی هماهنگی بین خوندن و نوشتن، اشارهگرهای branch هستن. کارهای نگهداری مثل compaction و garbage collection هم تو پسزمینه اجرا میشن.
نکتهی مهم اینه که همهی این تغییرات زیر کاپوت انجام میشه و قرار نیست روال کار توسعهدهندهها، فرایند code review یا کنترلهای امنیتی عوض بشه. گیتهاب تنها نیست: Thomas Dohmke، مدیرعامل سابق گیتهاب، سرویس Entire رو راه انداخته که ترافیک ایجنتها رو به مخزنهای mirror میفرسته. Cursor هم three-phase commit رو کنار گذاشته و pushها رو تو یه write-ahead log روی object storage ذخیره میکنه.
نکات کلیدی:
- معماری جدید ذخیرهسازی گیتهاب تو تستهای داخلی ۳۵ برابر نوشتن سریعتری داشته.
- ترافیک گیتهاب از ۲۱۸.۲ به ۴۷۳.۳ میلیارد رویداد در ماه رسیده و commitهای سپتامبر ۷.۳۸ میلیارد بوده.
- Spokes با three-phase commit و quorum کار میکنه و هر push به کندترین نسخه وابستهست.
- طرح جدید هر commit رو یه بار تو Azure Blob Storage مینویسه و خوندن رو به workerهای جدا میسپره.
- هیچ زمانبندیای برای مهاجرت اعلام نشده و قراره روال کار کاربرها عوض نشه.




