DynamoDB streaming reliability (SLA)

Viewed 1009

Does DynamoDB's streaming guarantee its delivery? I am seeing a number of occasions, where I suspect the ddb event is failing to be delivered to a lambda function which is enabled for the streaming.

More concretely, I have a workflow such that upon DynamoDB event, lambda picks up the event and indexes it to ElasticSearch clusters. From time to time, I see a number of events that should have been sent to lambda have actually failed to do so.

I tried searching for the documentation, but i do not see any that mentions about this issue. Am I mistaken, or does this streaming actually fail sometime?

1 Answers

According to here

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.

Also in the same page;

Whenever an application creates, updates, or deletes items in the table, DynamoDB Streams writes a stream record with the primary key attributes of the items that were modified. A stream record contains information about a data modification to a single item in a DynamoDB table. You can configure the stream so that the stream records capture additional information, such as the "before" and "after" images of modified items.

I interpreted as, there is a "guarantee" of delivery since each modified item will "appear" and it will be exactly once. The "streams" is not listed as "Included Services" in the DynamoDB's SLA.

Related