Dynamodb Поиск значения ключа в карте массива - PullRequest
0 голосов
/ 30 сентября 2019

Я новичок в AWS DynamoDB, и здесь я ничего не понимаю, пытаясь решить вопрос с элементами со следующей структурой

{
    "API_ID": "Primary_Partition_Key",
    "transactions": {
        "<FIND_THIS_KEY>": {
            "BASED_ON_THIS": "VALUE_I_KNOW"
        }
    }
}

Цель состоит в том, чтобы найти FIND_THIS_KEY из элемента на основеVALUE_I_KNOW сопоставлено с BASED_ON_THIS

Текущий подход (самое глупое решение) заключается в извлечении всего элемента по API_ID и фильтрации с карты путем его циклического преобразования. Ищите рекомендации по наиболее эффективному способу, поскольку стоимость вычислений высока.

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете добавить индекс к вашему «BASED_ON_THIS», который обратит поведение по умолчанию (ваше значение станет вашим ключом, и наоборот), так что это будет эффективно. Затем просто запросите индекс с «BASED_ON_THIS», являющимся хеш-ключом, и используйте «VALUE_I_KNOW» в качестве значения.

У индексов не будет ограничения уникального первичного ключа, и вам нужно быть осторожным с горячими разделами («BASED_ON_THIS»)«Значения должны быть как можно более разными). Так что просто помните, но в противном случае индекс решит вашу проблему эффективности запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...