Глобальный индекс DynamoDB для поля с небольшим количеством различных значений

#amazon-web-services #indexing #amazon-dynamodb

#amazon-web-services #индексирование #amazon-dynamodb

Вопрос:

В официальных документах Amazon есть такой текст:

Например, предположим, что у вас есть таблица Employee с такими атрибутами, как имя, должность, адрес, номер телефона, зарплата и уровень оплаты. Теперь предположим, что у вас есть глобальный вторичный индекс с именем PayLevelIndex, с PayLevel в качестве ключа раздела. Многие компании имеют очень небольшое количество кодов оплаты, часто менее десяти, даже для компаний с сотнями тысяч сотрудников. Такой индекс не принесет большой пользы, если таковая вообще будет, для приложения.

Я действительно не понимаю, как такой индекс не будет полезен. Что, если нам нужно перечислить всех сотрудников с определенным payLevel ? Даже если у нас есть только 2 разных payLevels , индекс должен помочь, верно?

Ответ №1:

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

Учтите также, что это их рекомендация. Доверяйте документации, пока не увидите что-то противоречащее реальной практике.

Комментарии:

1. «Высокая мощность, как правило, является вашей целью, когда дело доходит до индексов в любой базе данных». — это многое прояснило для меня после поиска в Интернете.