#ХранениеИRedis • 21 октября 2026 • Автор: Root_XMC

Переход с Anvil на Linear Region Format + Zstd Level 3: экономия 48% NVMe и ускорение I/O

1. Почему формат `.mca` неэффективен на больших картах

Стандартный формат регионов Minecraft Anvil (`r.x.z.mca`) сжимает каждый из 1 024 чанков по отдельности устаревшим алгоритмом zlib и выравнивает записи по секторам в 4 КБ. На карте Анархии 30 000×30 000 блоков это создаёт десятки гигабайт фрагментированных метаданных и высокую нагрузку на диск при `/rtp`.

2. Потоковое сжатие Zstandard в Linear Region (`.linear`)

В 9-м сезоне мы перевели хранение миров на формат Linear Region v2 с алгоритмом Zstd Level 3. Все активные чанки региона сжимаются единым словарём, а фоновые потоки I/O асинхронно сбрасывают изменения каждые 15 минут.

Конфигурация хранения региона (purpur-region.yml)
region-format:
  type: "LINEAR"
  linear-compression-level: 3
  linear-io-flush-delay-seconds: 5
  linear-io-threads: 6
  use-virtual-threads: true

3. Итоги миграции

Общий объём карты Анархии уменьшился с 148 ГБ до 76 ГБ (-48.6%), а время создания инкрементальной резервной копии на S3 сократилось с 14 минут до 2 минут 40 секунд без малейших просадок TPS во время сохранения.


Читайте также: