У меня есть требование наличия поля автоматического приращения в базе данных dynamoDB. Я мог бы справиться с этим, написав собственные алгоритмы, но мне просто нужно знать, предоставляет ли DynamoDB или AWS такое решение, чтобы я мог использовать это. Кто-нибудь знает об этомПоддержка поля автоинкремента в dynamoDB
ответ
DynamoDB не предоставляет эту функцию. Ключ с автоматическим приращением обычно используется просто как простой способ получить уникальный идентификатор для каждой записи в таблице базы данных. Существуют и другие способы генерации уникальных идентификаторов, таких как UUID, которые не требуют, чтобы вы знали о значениях, ранее сохраненных в таблице. Я рекомендую вам оценить ваш вариант использования, чтобы определить, разрешат ли UUID вашу проблему.
Если вам абсолютно необходим инкрементный цифровой ключ в таблице DynamoDB, то один из способов сделать это - иметь отдельную таблицу, в которой хранится ваше последнее значение автоматического увеличения, и использовать счетчики AtomamoDB Atomic для увеличения этого значения, когда вы нужно ключевое значение для новой записи. Конечно, это означало бы, что теперь вам нужно выполнить обновление в одной таблице плюс вставить в другую таблицу каждый раз, когда у вас есть новая запись, поэтому это не идеальный сценарий.
- 1. Поддержка Ruby для DynamoDB
- 2. DynamoDB Поддержка JSON документов
- 3. DynamoDB Поддержка арабского языка
- 4. Поддержка Zend Framework для DynamoDB
- 5. Поддержка потока для локального dynamodb?
- 6. Поддержка запросов по документам в DynamoDB
- 7. добавление поля автоинкремента в mySQL с префиксом
- 8. Получить идентификатор поля автоинкремента в SQLite
- 9. идентификатор поля без опции автоинкремента в миграции
- 10. Поля AutoIncrement в базах данных без поля автоинкремента
- 11. Выберите, не касаясь поля автоинкремента ID
- 12. Счетчик автоинкремента, если длина поля больше n
- 13. mysql: установка уникального индекса для поля автоинкремента
- 14. Изменение поля автоинкремента по одному предыдущему
- 15. Как сортировать результаты в PHPMyAdmin в таблице без поля автоинкремента
- 16. как установить начальное значение поля первичного ключа автоинкремента в Liquibase
- 17. Добавление поля автоинкремента в существующую модель с Django South?
- 18. Добавить поле автоинкремента в таблице
- 19. Дробная поддержка поля Django datetime
- 20. Столбец автоинкремента
- 21. значение автоинкремента в триггере
- 22. Значение автоинкремента в PHP
- 23. Столбец автоинкремента в Oracle
- 24. Сброс автоинкремента в h2
- 25. Ошибка автоинкремента
- 26. Поддержка Amazon DynamoDB Json при запросе и сканировании
- 27. Инкрементный номер поля DynamoDB не сохраняется
- 28. Сброс значения поля автоинкремента mysql после удаления из php?
- 29. Возврат к 1 из поля базы данных автоинкремента
- 30. Обновите все значения, кроме поля автоинкремента, используя PHP/MySql/PDO
+1 - не слишком упоминает, что последнее значение идентификатора становится шеей бутылки, что существенно снижает теоретическую максимальную пропускную способность для записи в 1000 IOPS - определенно не является масштабируемым решением для чего угодно, кроме тривиальных нагрузок. –
Спасибо, Марк, мне абсолютно нужно это автоматическое приращение и поскольку dynamoDB не имеет этой встроенной функции, мне нужно будет найти какую-то идею, которую вы рекомендовали. Кстати, это атомные счетчики, мы должны управлять синхронизацией потоков здесь самим собой? или Есть ли счетчик атомных батарей dynamo db? Что произойдет, если несколько потоков прочитают этот атомный счетчик в то же время. –
@JavaProgrammer DynamoDB Atomic Counters являются потокобезопасными. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.AtomicCounters –