Сценарий заключается в том, что я буду записывать большие объемы данных (терабайты в день) в поток kinesis. Я хочу знать, какой из них является лучшим способом достижения высокой производительности записи.
Я рассматриваю следующие два варианта для клиентов-производителей.
Вариант 1: использование библиотеки производителя Kinesis (KPL).
или
вариант 2: AWS SDK (API).
Я знаю, что KPL - это абстракция, используемая поверх aws sdk, поэтому он сводится к (KPL с AWS-SDK) или просто к AWS-SDK. Из того, что я исследовал, мне кажется, что AWS-SDK не позволяет объединять несколько записей в одном месте, тогда как KPL поддерживает это объединение (пожалуйста, исправьте меня, если это неправильно).
Как PutRecords (из Kinesis Data Streams API), так и KPL (с использованием агрегации) обеспечивают высокую скорость записи, вопрос в том, какой из двух вариантов лучше и почему?
В двух словах, интересующихся знанием того, что будет быстрее с точки зрения записи данных в поток kinesis, после того, как они записаны в поток, мне все равно, как они читаются. Также интересно знать разницу между механизмами повторов в обоих случаях и производительность асинхронной записи.