Таблица DynamoDB Orders использует OrderID в качестве ключа раздела (без ключа сортировки) и содержит более 100 000 элементов. Вам необходимо эффективно получить все заказы, у которых атрибут OrderSource равен 'MobileApp'. Каков наиболее эффективный способ улучшить пользовательский опыт?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создать глобальный вторичный индекс (GSI) с OrderSource в качестве ключа раздела, затем выполнить Query к GSI, используя MobileApp в качестве ключа..
Почему это правильный ответ
Правильный ответ — создание глобального вторичного индекса (GSI) с OrderSource в качестве ключа раздела. GSI позволяет выполнять запросы Query по атрибутам, отличным от первичного ключа таблицы, что делает его идеальным для поиска всех элементов с определенным значением OrderSource. Запрос Query к GSI эффективен, поскольку он напрямую обращается к индексированным данным, избегая полного сканирования таблицы. Неправильные варианты: Scan таблицы неэффективен для больших таблиц, так как он сканирует всю таблицу и потребляет много единиц чтения/записи, что приводит к высокой задержке и стоимости. Локальный вторичный индекс (LSI) должен иметь тот же ключ раздела, что и основная таблица, и OrderSource не является ключом раздела в основной таблице. LSI также ограничен 10 ГБ на раздел. GSI с OrderSource в качестве ключа сортировки не позволит эффективно запросить все заказы с OrderSource = 'MobileApp', так как ключ раздела GSI будет отсутствовать, и запрос Query не будет работать.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется