Целочисленный тип данных без знака в СУБД, ориентированной на столбцы

Я проверил различные системы баз данных, ориентированные на столбцы, такие как InfiniDB, InfobrightDB и MonetDB. Ни один из них не поддерживает целые числа без знака как тип хранения данных. Зачем? Одним из решений является сохранение всех 4-байтовых целых чисел без знака в 8-байтовых целых числах со знаком ( ссылка), однако я думаю, что это будет занимать слишком много места. Существует ли какая-либо система баз данных с открытым исходным кодом, ориентированная на столбцы, которая поддерживает целые числа без знака? Я уже проверил это ( ссылка) без удачи. Большое спасибо за уделенное время.

Эмер

2 ответа

Решение

Я нашел один ответ на вопрос "Как выполнить миграцию с SQL Server" ( стр. 4) на Infobright.org:

Целые числа без знака. Целые числа без знака исторически выбирались администраторами баз данных и разработчиками баз данных, чтобы обеспечить емкость для больших максимальных значений для данного целочисленного поля, чем это возможно для целого числа со знаком. В тех случаях, когда в данных отсутствуют отрицательные значения или они не допускаются, подход выбора целых чисел без знака допускал размещение больших значений при выборе меньших типов данных в традиционных технологиях, ориентированных на строки. В случае Infobright, когда существуют ненужные байты для определенного целочисленного значения, они "выдавливаются" внутренними алгоритмами сжатия. По этой причине Infobright рекомендует выбирать следующий больший целочисленный тип данных - например, BIGINT over INTEGER или MEDIUMINT over SMALLINT - так, чтобы максимальное значение столбца можно было учесть в выбранном типе данных. Infobright не страдает от потерянного пространства, вызванного "перепечатыванием" столбцов.

MySQL поддерживает целые числа без знака как тип столбца

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