Kinesis Data Streams Flashcards
Как связаны Partition Key и Shard в Kinesis? Чего больше?
Номер Шарда определяется в результате выполнения хэш-функции от Partition Key. Партишен Ключей может быть 5, а шардов 3. Пять грузовиков, три Шарда, Partition Key = ID грузовика.
Как может происходить коллизия с Partition Key и Shard в Kinesis?
Все записи с одинаковым Партишен Ключом ОБЯЗАТЕЛЬНО попадут в один и тот же Шард. Но один и тот же Шард может содержать НЕ только записи с одним и тем же Партишен Ключом.
Как называются единицы ресурса в Kinesis?
Streams
Каждый record в Kinesis состоит из …
partition key, data blob, sequence number
Kinesis Data Stream делится на …, и чем их больше, тем …
шарды, выше ingestion-consumption rate и выше цена
В SQS есть сообщения, а в Kinesis …
records
Поле “sequence number” обозначает …, а поле “partition key” используется для …
номер шарда в Kinesis Stream’е, используется как входной параметр хэш функции для вычисления номера шарда
Поле “sequence number” в отличие от “partition key” и “data blob” …, потому что …
появляется только после консюминга сообщения, потому что номер шарда вычисляется по партишен ключу (через хэш функцию).
Что такое KPL, KCL?
Kinesis Producer Library, Kinesis Consumer Library. это более advanced библиотека, построенная на основе SDK
Что такое Retention? Какой он в SQS? Какой он в Kinesis?
Retention Period - это период хранения сообщений/record’ов в очереди/data-stream’е. В SQS он по-умолчанию 4 дня, максимум 14 дней. В Kinesis 1 day - 365 days
Что такое Immutability данных в Kinesis? Как это устроено в SQS?
данные, попавшие в Kinesis, нельзя удалить (не считая того, что у них есть retention period). В SQS - наоборот, каждый консюмер подчищает за собой прочитанные данные после обработки.
В Kinesis работает формула: hashFunction(…) = …
partition key, shard number (sequence number)
Какие Security фичи есть в Kinesis Data Streams? Что это напоминает?
Есть IAM Resource Based Policies и Encryption (at rest SSE, in transit SSL/TLS, client-side). Напоминает S3, SQS, SNS.
Что такое “Hot Partition Key”? В чём его проблема? От чего он возникает?
Один из шардов может быть переполнен (overwhelmed). Причина - НЕ равномерное распределение (distribution) partition ключей. Проблема - НЕ оптимально организованная работа Kinesis Stream’а.
Какие варианты SSE шифрования есть в Kinesis?
At rest SSE через KMS.