Question: I have a publicly accessible ms access file - Frontend.accdb for which all tables are linked to another protected ms access database called Data.accdb. An import job is defined in the data.accdb which brings data into the data.accdb which will be updated to Frontend.accdb when opened. 

I want to add this import job in my `frontend.accdb` so that by clicking a button in the frontend.accdb, data.accdb gets refreshed and the tables inside Frontend.accdb is populated with fresh data.

Answer: 
**Keep in mind this answer was correct for Jun 2015**

After studying the issue for a while, having the same question in mind, I found that SQS (with SNS) is preferred for most use cases unless the order of the messages is important to you (SQS doesn't guarantee FIFO on messages).

There are 2 main advantages for Kinesis:

1. you can read the same message from several applications
2. you can re-read messages in case you need to.

Both advantages can be achieved by using SNS as a fan out to SQS. That means that the producer of the message sends only one message to SNS, Then the SNS fans-out the message to multiple SQSs, one for each consumer application. In this way you can have as many consumers as you want without thinking about sharding capacity.

Moreover, we added one more SQS that is subscribed to the SNS that will hold messages for 14 days. In normal case no one reads from this SQS but in case of a bug that makes us want to rewind the data we can easily read all the messages from this SQS and re-send them to the SNS. While Kinesis only provides a 7 days retention.

In conclusion, SNS+SQSs is much easier and provides most capabilities. IMO you need a really strong case to choose Kinesis over it.
I'll add one more thing nobody else has mentioned -- SQS is several orders of magnitude more expensive.