Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: AWS DynamoDB Ingest (CDC) #109

Merged
merged 2 commits into from
May 4, 2023
Merged

Conversation

jshlbrd
Copy link
Contributor

@jshlbrd jshlbrd commented May 1, 2023

Description

  • Adds support for AWS DynamoDB ingest
  • Updates build/terraform/aws/dynamodb to enable Stream on tables

Motivation and Context

This adds ingest support for DynamoDB Streams and enables change data capture (CDC) use cases. (More info about CDC here.) Some example usage:

  • Observability on changes made to tables
  • Sending notifications for specific types of changes
  • Replicating enrichment data from short-term to long-term storage

DynamoDB is schemaless and records generated by the DynamoDB Stream source aren't structured in a way that makes them easily consumed, so this transforms the records into JSON that is modeled similarly to those used in Debezium.

Since DynamoDB Streams are charged based on reads and not uptime, the Terraform module was updated to always create a Stream that captures old and new changes to each row for every table.

How Has This Been Tested?

Integration tested on a production DynamoDB table.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@jshlbrd jshlbrd changed the title feat: AWS DynamoDB Ingest feat: AWS DynamoDB Ingest (CDC) May 1, 2023
@jshlbrd jshlbrd marked this pull request as ready for review May 1, 2023 23:47
@jshlbrd jshlbrd requested a review from a team as a code owner May 1, 2023 23:48
@jshlbrd jshlbrd merged commit 36c60ac into main May 4, 2023
@jshlbrd jshlbrd deleted the jshlbrd/feat/dynamodb-source branch May 4, 2023 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants