Чё по файловым системам?
Работаю над одним сервером видеонаблюдения уже не первый год и столкнулся с тем что надо как-то оптимизировать видео потоки с сервера на мобильное приложение(тоже написано мной<3).
Так как я прикалываюсь по всякой научно литературе, то полез опять читать статьи и наткнулся на очень интересную штуку от наших профессоров - "Разработка файловой системы для хранения данных интеллектуальной системы видеонаблюдения"
Почему стандартные файловые системы тормозят?
Классические файловые системы — NTFS, FAT32, EXT4 и другие — создавались как универсальные. Они поддерживают всё подряд.
Но у универсальности есть минус:
- слишком много функций (журналирование, фрагментация, длинные имена файлов, проверка прав доступа и т. д.),
- каждая операция записи/чтения проходит через много лишних слоёв
В системах видеонаблюдения это критично:
- идёт постоянная запись 10–24 кадров/с в 4K (3840×2160, 450 dpi, sRGB),
- плюс видеоролики по 25–35 МБ каждые 5–7 секунд,
- плюс метаданные (дата, время, погода, освещённость, число объектов, точность распознавания и пр.).
При использовании NTFS обычный видеосервер (например: 2× Intel Xeon Gold gen3, 32 ГБ RAM, SSD 250 GB + HDD 10 TB) справляется максимум с 12 камерами одновременно.
Что предложили умные люди
Разработана специализированная файловая система SubSysVideo-1.9.17fs, которая решает только одну задачу — хранение данных интеллектуальной системы видеонаблюдения (ИСВН).
Ключевые особенности:
- Прямой доступ к диску — драйвер работает напрямую с HDD, без участия ОС.
- База SubBase — собственная in-memory база (аналог Redis).
- Жёсткая структура хранения — фиксированные таблицы и ячейки, исключает фрагментацию и ускоряет поиск.
- Файл вместо раздела — не нужно создавать новый раздел. В NTFS создаётся скрытый файл fileSubSysVideo.sys фиксированного размера (например, 8 ГБ), который ОС не видит и не дефрагментирует.
- Объектный доступ — работа с базой ведётся через объекты (SubBase, SubAction, SubTable) с методами Insert, Update, Delete, CopyBack, что упрощает интеграцию с ИСВН.
Эксперимент
Учёные протестировали SubSysVideo на MacBook Air M1 (SSD 256 ГБ, MacOS Sequoia 15) и сравнили с популярными файловыми системами:
- NTFS
- FAT32
- exFAT
- EXT
- HFS+
- APFS
Методика: запись объекта в 4 ГБ из RAM на диск и обратное чтение (каждые 1,75 мин, с одинаковых адресов).
К чему пришли:
- SubSysVideo быстрее NTFS на 43,4 %
- и даже быстрее EXT (самой лёгкой системы) на 15,7 %
Практический эффект
- Вместо 12 камер сервер сможет стабильно обслуживать 20+ камер в 4K.
- Снижение нагрузки на CPU и RAM, так как драйвер не гоняет данные через ОС.
- Более точное распознавание объектов в реальном времени (так как данные поступают быстрее).
- Экономия на «железе».
Итого
Для меня было познавательно, но начальству даже не предлагаю, и так денег на разработку нема, время как-никак непростое)