Главная » Администрирование Битрикс » Инфоблоки » Инфоблоки 2.0: что это и когда включать

Инфоблоки 2.0: что это и когда включать

Схема архитектуры Инфоблоков 2.0 с отдельными таблицами вместо универсальных значений свойств

Инфоблоки 2.0 — обновлённая архитектура хранения данных элементов и разделов, пришедшая на смену классической структуре таблиц инфоблоков. Разберём, что реально меняется под капотом, когда стоит включать новую версию, а когда лучше остаться на классической.

В чём принципиальное отличие от классических инфоблоков

Классические инфоблоки хранят свойства элементов в универсальных таблицах значений свойств, общих для всех инфоблоков сайта, — это гибко, но создаёт большие таблицы со временем и требует дополнительных JOIN-ов при выборке. Инфоблоки 2.0 переходят на отдельные таблицы под каждый инфоблок со своими именованными колонками для каждого свойства — структура становится ближе к обычной реляционной таблице, что даёт более быстрые выборки и более простые SQL-запросы напрямую к данным без универсальной прослойки.

Прирост производительности на больших объёмах

Выигрыш от новой архитектуры заметнее всего на больших инфоблоках с активной фильтрацией по свойствам — выборка по колонке в обычной таблице с индексом работает быстрее, чем аналогичная выборка через универсальную таблицу значений свойств с дополнительным JOIN. На небольших инфоблоках разница в производительности между версиями практически не ощущается.

Нужна помощь с Битрикс?





    Совместимость со старым кодом

    Публичный API (CIBlockElement::GetList, Add, Update) продолжает работать одинаково для обоих типов инфоблоков — переход на 2.0 не требует переписывания прикладного кода, использующего штатный API. Риск несовместимости возникает там, где код напрямую обращается к структуре таблиц базы данных в обход API — такой код требует ревизии перед переходом, поскольку структура таблиц физически меняется.

    Как включить инфоблоки 2.0

    Переход на новую архитектуру выполняется через раздел настроек конкретного инфоблока в административной панели, с конвертацией существующих данных в новую структуру таблиц, — операция необратима без восстановления из резервной копии, поэтому обязательна предварительная резервная копия базы данных перед конвертацией, особенно для инфоблоков с большим объёмом накопленных данных.

    Когда стоит переходить

    • Крупные инфоблоки каталога с активной фильтрацией по множеству свойств, где производительность выборки уже ощутимо влияет на скорость сайта.
    • Новые проекты, стартующие с нуля, — логично сразу выбирать актуальную архитектуру без необходимости последующей миграции.

    Когда переход не оправдан

    • Небольшие справочные инфоблоки без заметной нагрузки, где выигрыш в производительности не будет ощутим на практике.
    • Проекты с большим объёмом кода, напрямую обращающегося к структуре таблиц инфоблоков в обход API, — риск поломки такого кода перевешивает выгоду от перехода без предварительной ревизии этого кода.

    Тестирование перед переводом боевого инфоблока

    Конвертацию стоит сначала опробовать на копии сайта или тестовом окружении, а не сразу на боевом инфоблоке с реальными данными посетителей, — особенно если в проекте есть кастомный код, взаимодействующий со структурой данных нестандартным образом, который может повести себя иначе после смены архитектуры хранения.

    Частые ошибки

    • Конвертация выполнена без предварительной резервной копии. Операция необратима без восстановления из бэкапа при сбое.
    • Не проверен код, обращающийся к таблицам базы напрямую. Такой код ломается при смене структуры таблиц под капотом.
    • Переход выполнен для инфоблока без реальной проблемы производительности. Выигрыш не ощущается, а риск операции остаётся.

    Итог

    Инфоблоки 2.0 дают заметный прирост производительности выборки для крупных инфоблоков с активной фильтрацией по свойствам, сохраняя совместимость публичного API со старым кодом. Переход оправдан не для каждого инфоблока — небольшие справочники и проекты с кодом, завязанным напрямую на структуру таблиц базы, требуют более осторожного подхода или вовсе не нуждаются в миграции.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    База знаний