Каковы максимальные пределы Mariadb columnstore?

Я хочу создать широкую таблицу из тысяч строк в столбце mariadb. Я не нашел никакой документации о максимальном количестве столбцов, разрешенных механизмом хранения. Я также хотел бы знать, как будет производительность columnstore для 1000 целочисленных столбцов?

3 ответа

Решение

Нет никаких ограничений на количество столбцов для Columnstore, но производительность приема данных - не лучший банкомат. Мы значительно сокращаем сроки в ближайшем будущем.

(Предостережение: этот "ответ" основан на моем понимании дизайна, а не на каких-либо "фактах".)

Занимаемая площадь таблицы должна быть пропорциональна количеству столбцов.

Как и в большинстве вещей в MariaDB, возможно, существует жесткое ограничение на количество столбцов, но я не могу думать о причине, по которой он может быть меньше 1000. Возможно, вместо этого есть некоторая большая степень 2.

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

Для фильтрации я бы ожидал, что предпринимаемые усилия будут зависеть от количества столбцов, используемых для фильтрации, и их распределения. Если твой WHERE Предложение ссылается на множество столбцов, я бы не ожидал хорошей производительности.

С любым движком наличие большого количества столбцов не обязательно является мудрым проектом. В общем, когда у вас много столбцов, которые не используются для фильтрации или сортировки (WHERE, ORDER BY), вы можете также выбросить их в строку JSON (или другую структуру) и сохранить как одну TEXT или же BLOB колонны. Затем позвольте приложению проанализировать строку, чтобы получить отдельные столбцы.

Columnstore светит для "фильтрации". Это также очень хорошо сжимает данные, и мое предложение JSON победило бы это. Но теперь у вас есть компромиссы между скоростью и пространством, которые очень специфичны для данных.

Не могли бы вы описать предложенный вами набор данных?

Когда я попытался создать таблицу ColumnStore с 2310 столбцами, она вернула «Код ошибки: 1117. Определение таблицы слишком велико».

Я уменьшил количество столбцов и попробовал еще раз. Похоже, что максимальное количество столбцов для MariaDB ColumnStore составляет 2201.

Другие вопросы по тегам