Найти в Дзене

🚀 Google закрыла CDC File Transfer: что это значит и почему важно помнить о FastCDC

25 февраля 2025 года репозиторий CDC File Transfer был официально заархивирован. Для многих это событие прошло незаметно, но на самом деле мы потеряли интересный и технологически элегантный инструмент, созданный командой Google в эпоху Stadia. CDC File Transfer включал два ключевых инструмента: Обычный rsync работает с фиксированными блоками. Если файл изменён посередине, всё, что идёт после правки, пересчитывается заново. В результате скорость падает, особенно при работе с большими бинарными файлами или проектами с тысячами мелких изменений. CDC-подход строился на Content Defined Chunking (CDC). Вместо фиксированных блоков использовались переменные границы, определяемые содержимым файла. За счёт этого: ⚡ cdc_rsync мог быть до 30 раз быстрее стандартного rsync.
⚡ cdc_stream позволял разработчикам запускать игры и софт с Windows так, будто они лежали локально на Linux-серверах, причём с задержкой в доли секунды. Техническая магия заключалась в алгоритме FastCDC: CDC File Transfer создав
Оглавление

25 февраля 2025 года репозиторий CDC File Transfer был официально заархивирован. Для многих это событие прошло незаметно, но на самом деле мы потеряли интересный и технологически элегантный инструмент, созданный командой Google в эпоху Stadia.

CDC File Transfer включал два ключевых инструмента:

  • 📦 cdc_rsync — аналог rsync, но с куда более умной логикой передачи изменений в файлах.
  • 🌐 cdc_stream — стриминг директорий с Windows на Linux в реальном времени, как sshfs, но в разы быстрее.

Почему это было круто?

Обычный rsync работает с фиксированными блоками. Если файл изменён посередине, всё, что идёт после правки, пересчитывается заново. В результате скорость падает, особенно при работе с большими бинарными файлами или проектами с тысячами мелких изменений.

CDC-подход строился на Content Defined Chunking (CDC). Вместо фиксированных блоков использовались переменные границы, определяемые содержимым файла. За счёт этого:

cdc_rsync мог быть до 30 раз быстрее стандартного rsync.
cdc_stream позволял разработчикам запускать игры и софт с Windows так, будто они лежали локально на Linux-серверах, причём с задержкой в доли секунды.

Техническая магия заключалась в алгоритме FastCDC:

  • 🔍 скользящее окно в 64 байта анализировало поток данных;
  • 🧩 изменялись только те чанки, что реально затронуты модификацией;
  • 🏎️ вычисления были дешевле и быстрее стандартного хэширования rsync.

Почему проект закрыли?

CDC File Transfer создавался для внутренних нужд Stadia. Разработчики игр писали код на Windows, а тестировать его приходилось на Linux-серверах Google. Инструмент был жизненно необходим при работе на удалёнке и при нестабильном интернете.

После закрытия Stadia в 2023 году проект потерял актуальность, хотя технология вполне могла найти применение в DevOps, ML-пайплайнах или облачных IDE.

Моё мнение

Мне кажется, Google поспешила отправить проект в архив. Такие инструменты могли бы стать стандартом в мире CI/CD. В эпоху, когда доставка артефактов и моделей ИИ весом в десятки гигабайт становится нормой, ускоренная передача изменений без лишнего трафика — это не роскошь, а необходимость.

Я вижу три направления, где FastCDC и идеи CDC File Transfer могут возродиться:

  • 🖥️ IDE будущего: синхронизация кода и артефактов между локальной машиной и облаком без задержек.
  • ☁️ CI/CD: моментальное обновление контейнеров без полной пересборки образов.
  • 📊 ML Ops: быстрая передача и обновление больших датасетов.

Итог

CDC File Transfer останется в истории как пример того, как из внутренних задач Google рождались мощные инструменты, опережающие время. Возможно, open-source-сообщество подхватит эту идею и даст ей новую жизнь.

Источники: