Каковы максимальные пределы 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.