Генератор уникальных порядковых номеров в aws без rds?

Предлагает ли какой-либо сервис или решение AWS функциональность последовательности, аналогичную SQL-последовательностям в Postgres или Oracle (или любой другой СУБД), без необходимости поддерживать весь экземпляр Postgres?

У меня есть доступ к RDS, если это необходимо, но мне интересно, переборщит ли он только для одной последовательности и есть ли более простое / дешевое решение.

В идеале последовательность должна состоять из 8-значных чисел и не требуется при особенно большом объеме (всего несколько тысяч в день).

Изменить: возможный дубликат Распределенная генерация порядковых номеров?

Изменить 2: Чтобы уточнить, цель состоит в том, чтобы иметь уникальность с простыми числами. Порядок номеров не важен, если они уникальны.

Я считаю, что DynamoDB поддерживает атомарное обновление числовых значений, но сейчас нет времени проверить или привести пример кода (какой язык вы используете?). Кроме того, учитывая, что вы рассмотрели другой вопрос, можете ли вы использовать UUID, а не атомарную последовательность?

kdgregory 13.09.2018 22:21

Спасибо, язык - Java. Это идентификаторы, ориентированные на клиента, похожие на номера заказов, поэтому UUID не совсем подходит для моего случая использования.

James Daily 14.09.2018 18:03
4
2
4 876
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вас устраивает просто наличие уникальных идентификаторов (без последовательностей), Сервис управления ключами AWS (KMS) имеет функцию GenerateRandom. Вероятность дублирования очень мала.

Или вы можете использовать традиционный GUID / UUID.

Однако, если вы хотите, чтобы идентификаторы были последовательный, вам нужно будет где-то сохранить значение:

  • Amazon DynamoDB - удобное хранилище данных, которое предлагает гораздо более низкую стоимость, чем инстанс Amazon RDS. Есть даже Атомный счетчик, который может увеличивать и возвращать счетчик.
  • Если ваш объем не очень велик, вы можете рассмотреть возможность сохранения значения в Хранилище параметров AWS Systems Manager, который имеет простые возможности Put / Get и нулевая стоимость.

Другие вопросы по теме