Skip to content

Version 4.0.0 lacks for support of native DynamoDB Streams #205

@olbat

Description

@olbat

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions