Известные проблемы и ограничения в Бизнес-аналитикеEOL
Особенности хранения пустых значений в таблицах
Созданные и импортированные таблицы хранятся на пользовательских серверах ClickHouse. Для каждого значения создается поле с соответствующим типом данных. На каждое поле со свойством Nullable в базе данных создается два поля.
Для хранения Nullable-полей ClickHouse использует:
- Отдельный файл с масками NULL. Маска определяет, что лежит в ячейке данных: NULL или значение
- Файл со значениями
Если маска указывает, что в ячейке хранится NULL, в файле значений хранится значение по умолчанию для типа данных. Например, если поле имеет тип Nullable(Int8), ячейка будет хранить значение по умолчанию для Int8. Эта особенность увеличивает размер хранилища.
При проектировании баз данных учитывайте, что использование полей со свойством Nullable снижает производительность и может приводить к ошибкам при использовании системы, например к некорректному отображению виджетов в дашбордах. Чтобы решить проблему, снимите галочку у свойства Nullable напротив типа данных колонки в Модели данных.
Была ли статья полезна?