Вернуться к статьям

Убираем fsync: как мы сделали хранилище быстрее и чуть опаснее

9 мая 2026
2 мин чтения
Убираем fsync: как мы сделали хранилище быстрее и чуть опаснее

Разработчики Fractal Bits решили, что fsync — это тормоз, и просто выпилили его. Что могло пойти не так?

Разработчики из Fractal Bits поделились историей, как они убрали fsync из своего локального движка хранения. Если вы когда-нибудь ждали, пока база данных синхронизируется с диском, вы знаете эту боль — fsync может быть настоящим тормозом, особенно на облачных дисках. Команда решила, что для их сценариев использования консистентность данных не так критична, как скорость, и просто отключила синхронизацию. Результат? Прирост производительности в несколько раз. Но, как говорится, нет боли — нет гарантий.

Что такое fsync и почему его хочется убить

fsync — это системный вызов, который заставляет операционную систему сбросить буферы на диск. Без него данные могут болтаться в памяти, как носки в стиральной машине, и исчезнуть при внезапном отключении питания. Но если вы работаете с временными данными или можете позволить себе потерю последних нескольких записей, отказ от fsync даёт огромный прирост скорости. Fractal Bits пошли ва-банк и выпилили его полностью, полагаясь на то, что их приложение само восстановит состояние после перезапуска.

А что с безопасностью?

Конечно, это не для всех. Если вы пишете банковскую систему или медицинские записи, не повторяйте это дома. Но для аналитических баз данных, кешей или логов — почему бы и нет? Разработчики отмечают, что они добавили дополнительные проверки целостности и используют журналирование, чтобы минимизировать риски. В итоге, их движок стал работать как «Феррари без тормозов» — быстро и с адреналином.

Наш вердикт

История Fractal Bits — это отличный пример того, как можно пожертвовать строгими гарантиями ради скорости, если вы знаете свои требования. Но прежде чем повторять, убедитесь, что ваш босс не попросит восстановить данные из бекапа в пятницу вечером.

Комментарий студии METABYTE: Если ваша база данных начинает напоминать игру в русскую рулетку, возможно, стоит пересмотреть архитектуру. Мы помогаем найти баланс между скоростью и надёжностью, чтобы вы не просыпались в холодном поту после ночного деплоя.

Убираем fsync: ускорение хранилища с риском | METABYTE — METABYTE