-
Notifications
You must be signed in to change notification settings - Fork 97
Description
It seems that the version 4.0.0 of the library removes support of native DynamoDB Streams.
My understanding is that this is caused by the migration to KCL v2 that doesn't support it either.
The release notes are suggesting:
The Kinesis Binder does not support DynamoDB Streams Adapter any more. There is no its implementation for SDK v2 and general AWS recommendation is to use Kinesis enabled on the table to captures data changes.
Will it be possible to elaborate a bit on where these recommendations are coming from and what are the alternatives for applications that are strongly dependent on native DynamoDB Streams core features? Thanks in advance 👍
For a bit of extra context, here are a few key differences between native DynamoDB Streams and DynamoDB integration with Kinesis to implement change streams that are important for some use-cases and might have be overlooked when deprecating the support of native DynamoDB Streams:
Change data capture for DynamoDB Streams:
DynamoDB Streams helps ensure the following:
- Each stream record appears exactly once in the stream.
- For each item that is modified in a DynamoDB table, the stream records appear in the same sequence as the actual modifications to the item.
Kinesis Data Streams to capture changes to DynamoDB:
The Kinesis data stream records might appear in a different sequence than the item changes occurred. The same item notifications might also appear more than once in the stream. You can check the ApproximateCreationDateTime attribute to identify the approximate order that the item modifications occurred, and to identify duplicate records. ApproximateCreationDateTime indicates the time of the modification in milliseconds.