это хорошая идея использовать двоичный атрибут для индексации GSI в Dynamo DB? - PullRequest
0 голосов
/ 18 июня 2020

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

могу ли я выполнить индексирование GSI по этому атрибуту, если мне нужно получить / запросить записи об успехах или сбоях из этой таблицы?

или мне следует создать две разные таблицы для сценария успеха и сбоя ios?

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

  1. каковы проблемы с GSI-индексированием двоичного атрибута?

  2. как это повлияет на производительность операции запроса?

1 Ответ

1 голос
/ 18 июня 2020

Похоже, вы имеете в виду логическое (true / false), а не двоичное. Вы не можете создать GSI для логического атрибута в DynamoDB, но можете для строкового, числового или двоичного атрибута (который отличается от логического), поэтому вы можете рассматривать 1/0 или «принять» / «сбой» для логического логического значения.

Вы можете подумать о том, чтобы сделать этот индекс разреженным, если хотите запросить только одну сторону вашего индекса. Поэтому, если вы хотите запросить только когда есть истина (или «принять», или 1, или что-то еще), тогда, когда это не так, удалите атрибут, а не устанавливайте для него значение «отказ» или 0 et c. Это делает запросы намного более производительными, поскольку индекс меньше, но ограничение состоит в том, что вы больше не можете запрашивать случаи «сбой» / ложь / 0.

Чтобы ответить на ваши вопросы:

1) вы не можете создать индекс для логического значения, используйте строку или число (или двоичный, но, вероятно, вам нужна строка или число) 2) если вам нужно запросить только одну сторону логического значения (например, «принять», но никогда «сбой» ”) Вы можете улучшить производительность, создав разреженный индекс

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