DynamoDB: TTL, S3, Security, Pricing Flashcards
В чём суть идеи TTL в DynamoDB?
Какой use-case? Какие преимущества?
- Высвобождать (в НЕ срочном порядке) память от устаревших записей
- без кастомного кода
- без расхода
WCU
Как реализован TTL в DynamoDB?
Какой pricing у этой операции?
- Можно выделить отдельную колонку типа
Number
(со значениемUnix Epoch Timestamp
) - И указать DynamoDB автоматически удалять запись, если дата в колонке устарела
При этом WCU НЕ расходуется, операция бесплатная.
Что можно сказать о GSI, LSI, DynamoDB Stream в плане TTL?
В том числе запись удаляется и из LSI, GSI
Delete операция - как обычная - отслеживается DynamoDB Stream’ом
В чём нюанс удаления item’а по TTL из DynamoDB?
Как это нужно учитывать?
Item’ы удаляются НЕ мгновенно после устаревания, а в течение 48 часов.
Поэтому может потребоваться Client Side Filtering, чтобы НЕ считывать item’ы, которые уже expired, но ещё НЕ удалены.
Какие use-cases есть для использования S3 вместе с DynamoDB?
- размер item’а больше 400 KB (картинки)
- эффективное индексирование файлов для поисковой системы
Как устроена архитектура для
эффективного индексирования файлов для поисковой системы?
Application => S3 Bucket => Lambda Function => DynamoDB <= Application
Лямбда постоянно сохраняет метаинформацию S3 объектов в DynamoDB.
Почему лучше хранить метаинформацию файлов в DynamoDB вместо того, чтобы просто хранить файлы в S3?
Для нас гораздо проще строить запросы к DynamoDB
(в которой удобно рассортирована вся метаинформация о файлах),
чем строить запросы к S3.
Потому что S3 предназначен для хранения тяжёлых объектов и запроса по ObjectKey, а НЕ для Scan’а метаинформации.
Как работать с DynamoDB в рамках VPC?
-
VPC Endpoint
- чтобы подключаться к DynamoDB по ПРИВАТНОЙ сети
Какое шифрование доступно для DynamoDB?
-
at rest
- AWS KMS -
in-transit
- SSL/TLS
Есть множество клиентов (users), которые хотят работать с DynamoDB. Как это реализовать?
Как называется эта технология?
Как называются такие пользователи?
Нужно использовать Identity Provider
сервис.
Например, AWS Cognito User Pools
или SAML
“Fine Grained Access Control”
”Federated User”
Каков Pricing DynamoDB?
Сколько стоят дополнительные фичи (Transactions, Replications)
Платим за количество read/write операций (расход WCU RCU)
Фичи DynamoDB Transactions
и DynamoDB Replications
сами по себе бесплатны.
Но они требуют в 2 раза больше read/write
операций.
Поэтому косвенно удваивают цену.