Перейти до змісту

02. Як це все працює?

Work in progress

StudioFS зберігає вміст файлів і метадані окремо. Дані зберігаються в S3-сумісному сховищі. Метадані — назви файлів, структура папок, розміри й інформація про зміни — синхронізуються між комп’ютерами через PostgreSQL.

Кожен комп’ютер має локальну копію метаданих і кешує потрібні частини файлів. Так уся команда працює з одним файловим простором, не завантажуючи весь проєкт на кожне робоче місце.

S3, PostgreSQL і локальний кеш

  • S3 — склад. Тут зберігається вміст файлів: відео, EXR-ки, 3D-сцени та все інше. StudioFS сам розкладає дані на фрагменти, тому, якщо відкрити S3 безпосередньо, ви не побачите звичну файлову структуру.
  • PostgreSQL — спільний каталог. Тут зберігається інформація про файли, папки та зміни. Завдяки цьому комп’ютери знають, що відбувається в одному спільному проєкті.
  • Локальний кеш — те, що під рукою. StudioFS зберігає на вашому SSD вже завантажені дані й нові зміни, які ще треба відправити в хмару.

Є й четверта, менш помітна частина: локальна база метаданих на кожному комп’ютері. Завдяки їй StudioFS не бігає до PostgreSQL через інтернет щоразу, коли ви відкриваєте папку чи файл.

Що відбувається, коли ви відкриваєте файл?

Наприклад, монтажер відкрив великий відеофайл і перейшов до середини таймлайну.

StudioFS перевіряє, чи є потрібні дані в локальному кеші. Якщо є — читає їх із диска. Якщо немає — підтягує відповідні частини з S3 і зберігає локально для наступного разу.

Не потрібно спочатку скачувати весь файл. Але швидкість першого читання все одно залежить від інтернету та самого S3-сховища. Уже закешовані частини файлу під час наступних звернень миттєво читаються з локального диска.

А коли ви щось зберігаєте?

StudioFS спочатку приймає зміни на вашому комп’ютері. Потім у фоновому режимі завантажує потрібні дані в S3 і публікує оновлену версію. Інші комп’ютери отримують інформацію про неї через PostgreSQL і за потреби читають нові дані із S3.

Тому локальне збереження й поява змін у колег — різні моменти. До завершення синхронізації хтось іще може бачити стару версію файлу.

Коли до проєкту приєднується новий комп’ютер, команда studiofs discover допомагає йому отримати спільну файлову структуру. Самі терабайти матеріалів заздалегідь копіювати не потрібно.

А якщо зникне інтернет?

Те, що вже є в локальному кеші, за певних умов можна продовжити читати. Прийняті локальні зміни можуть чекати, доки з’єднання відновиться. Але дані, яких немає на комп’ютері, без доступу до S3 не завантажаться, а колеги не побачать нових змін до їх публікації.

І головне: не видаляйте робочий кеш вручну. У ньому можуть лежати дані, які ще не встигли потрапити в хмару.

А ще StudioFS показує стан синхронізації іконкою в системному треї. Під час активної синхронізації вона пульсує червоним — у цей момент краще не вимикати комп’ютер. Коли активної синхронізації немає, іконка жовто-блакитна. Бо все буде Україна.

Що далі?

Тепер ви знаєте, навіщо StudioFS потрібні S3, PostgreSQL і локальний SSD. У наступній главі розберемо, що вже працює, які є обмеження та що знадобиться для запуску.


Зміст · English · ← Попередня · Наступна →