Почему БД, ориентированная на строки, не может выполнять индексацию, подобную структуре БД, ориентированной на столбцы

С этой вики-страницы: http://en.wikipedia.org/wiki/Column-oriented_DBMS

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

Таким образом, индексирование столбца сохраняется следующим образом: 1: бот 2: человек 3: бот

С другой стороны, база данных, ориентированная на столбцы, хранит столбец, подобный следующему: бот: 1,3 человек: 2

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

1 ответ

Решение

Программное обеспечение базы данных может хранить данные в более чем одном формате, и часто это происходит. Например, в SQL Server вы можете иметь столбчатые и строчные индексы для одной и той же таблицы. Поэтому неверно, что СУБД должна решить выбрать один формат, а не использовать другой.

Фактически такой индекс можно легко определить даже с помощью индексов на основе строк. Просто индекс на IsBot, ID (при условии, что два столбца в вашем примере названы так). Этот индекс может легко удовлетворить фильтрацию запросов IsBot,

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