[ 
https://issues.apache.org/jira/browse/SAMZA-1799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16567306#comment-16567306
 ] 

Jagadish commented on SAMZA-1799:
---------------------------------

[~nickpan47] [~atoomula] FYI..

> Support reading from DynamoDB Streams natively
> ----------------------------------------------
>
>                 Key: SAMZA-1799
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1799
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Jagadish
>            Priority: Major
>
> Currently, Samza has built-in support to consume from AWS Kinesis, Amazon's 
> messaging service. There have been requests to offer native support for 
> "DynamoDB Streams", which is Amazon's change-capture technology for DynamoDB.
> *What is DynamoDB Streams?*
> DynamoDB Streams captures a time-ordered sequence of updates to a DynamoDB 
> table, and stores this information in a log for up to 24 hours. Use-cases 
> include: propagation of table updates, change capture, database replication 
> etc.
> *How does DynamoDB Streams differ from Kinesis?*
> While Kinesis is a general-purpose messaging service, DynamoDB Streams is 
> specifically for capturing updates from DynamoDB. 
> *What it takes to make Samza consume from a DynamoDB change-capture stream?*
> It should be possible to support change-capture from DynamoDB with minimal 
> effort. 
> As a refresher, the KinesisSystemConsumer in Samza currently creates multiple 
> KinesisWorkers, with each worker processing a single partition in the stream. 
> By default, a Worker internally uses a "KinesisProxy" to consume data from 
> Kinesis. We can configure it read from DynamoDB streams by simply pointing it 
> to use a different proxy. ie, use the _DynamoDBProxy_ instead of the default 
> _KinesisProxy_ when a worker is instantiated. 
> {code}
>        final Worker worker = StreamsWorkerFactory
>            .createDynamoDbStreamsWorker(
>                recordProcessorFactory,
>                workerConfig,
>                adapterClient,
>                amazonDynamoDB,
>                amazonCloudWatchClient);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to