Таблица DynamoDB ExamScores использует student_id в качестве ключа раздела (partition key) и subject_name в качестве ключа сортировки (sort key), а также top_score в качестве атрибута. Приложению необходимо быстро возвращать student_id лучшего ученика по каждому предмету. Какое изменение ускорит эти запросы?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создать глобальный вторичный индекс (GSI) с subject_name в качестве ключа раздела и top_score в качестве ключа сортировки..
Почему это правильный ответ
Правильный ответ — создание глобального вторичного индекса (GSI) с subjectname в качестве ключа раздела и topscore в качестве ключа сортировки. GSI позволяет запрашивать данные, используя атрибуты, отличные от первичного ключа основной таблицы. В данном случае, чтобы найти лучшего ученика по каждому предмету, нам нужно эффективно запрашивать по subjectname и сортировать по topscore. GSI с такой структурой ключей идеально подходит для этого, так как он создает отдельную, полностью независимую таблицу, оптимизированную для этих запросов. Локальный вторичный индекс (LSI) не подходит, так как его ключ раздела должен совпадать с ключом раздела основной таблицы (studentid), что не позволит эффективно запрашивать по subjectname. LSI также не может иметь topscore в качестве ключа раздела. GSI с subjectname в качестве ключа раздела и studentid в качестве ключа сортировки не позволит эффективно найти лучшего ученика, так как не будет сортировки по topscore.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется