Transaction recovery in DynamoDB - amazon-dynamodb

Does DynamoDB supporting in transaction recovery and how transaction recovery in dynamodb work?
I had search in document of dynamodb and google and i not found it.

No there is no such thing as a transaction recovery in DynamoDB. Transactions in DynamoDB are ACID compliant, but if you need to roll back a transaction then you would have to do so manually.

Related

Delete DynamoDB default cloudwatch alarms

I am new to DynamoDB. While creating a dynamodb table I can see that it also creates some cloudwatch alarms like TargetTraking-TableXX--ProvisionedCapacityHigh.
So my question is can I delete these alarms as it is adding cost. I have tried researching on this but dint find anything. I am afraid to delete this because I am not sure if the AWS itself is using these alarms for the dynamodb maintenance and whether if I delete them will the dynamodb malfunction by any means.
I would also like to know if these alarms are used for scaling up and down in case of autoscaling been enabled or ondemand provisioning is enabled for the dynamodb table.
In my case I am not using autoscaling or ondemand tables so is it fine if I delete those alarms?
The Cloudwatch alarms gets created if autoscaling is enabled for provisioned tables. Whereas On-demand tables are fully managed by AWS and we pay for what we use. If you wish not to have autoscaling then it is ok to delete the alarms or disable them. To revert back the change re-deploy of autoscaling will re-create the alarms.
NOTE: Autoscaling creates 4 read and 4 writes table. The alarms description also says do not EDIT or DELETE the alarm as it affects the autoscaling functionality.

Where can I see the actual cost for Azure Cosmos backups?

Where can I see my actual cost for Azure Cosmos backups? They are nowhere to be found in the portal or on the invoice.
When you create or use Azure Cosmos DB resources, you might get charged for the following meters:
Database operations - You're charged for it based on the request units(RU/s) provisioned or consumed:
Standard (manual) provisioned throughput - You are billed an hourly rate for the RU/s provisioned on your container or database.
Auto scale provisioned throughput - You are billed based on the maximum number of RU/s the system scaled up to in each hour.
Consumed storage - You're charged for it based the total amount of storage (in GBs) consumed by your data and indexes for a given hour.
There is an additional charge in case you are using the Azure Cosmos DB features like backup storage, analytical storage, Availability zones, Multi-region writes. At the end of your billing cycle, the charges for each meter are summed. Your bill or invoice shows a section for all Azure Cosmos DB costs. There's a separate line item for each meter. To learn more, see the Pricing article.
If you want to view the cost in the Azure portal , you can go to Azure cost analysis report in the Azure cost management blade from your subscription the resource was created by filtering cost by resource.
Please also note: Azure Cosmos DB accounts that have continuous backup enabled will incur an additional monthly charge to store the backup and to restore your data. The restore cost is added every time the restore operation is initiated. If you configure an account with continuous backup but don't restore the data, only backup storage cost is included in your bill.
Additional Info: https://cosmos.azure.com/capacitycalculator/

How to generate audit log for dynamodb record actions (get, update, delete)?

I'm working on the serverless backend development and I have used aws dynamodb as database, Now I want to generate audit log for all the actions(get, update, delete) of record and store in seperate table. Is there any build in feature by aws? or how to implement it?
Thanks
You can enable DynamoDB streams on your DynamoDB table for exactly this purpose.
From the amazon documentation:
A DynamoDB stream is an ordered flow of information about changes to
items in a DynamoDB table. When you enable a stream on a table,
DynamoDB captures information about every modification to data items
in the table.
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.
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.
DynamoDB Streams writes stream records in near-real time so that you
can build applications that consume these streams and take action
based on the contents.
For more information and examples, please check out the following resources
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html
https://aws.amazon.com/blogs/database/dynamodb-streams-use-cases-and-design-patterns/
It is possible to setup CloudTrail for DynamoDB operations incl actual data change.
Please take a look at this link.

AWS DynamoDB data transfer (egress) pricing

I found this article regarding data transfer prices for certain services, but not including DynamoDB.
What is the rate for DynamoDB data transfer out?
It is the same price as EC2, but this is only for when you are accessing DynamoDB from outside of that AWS region. If you want to verify, use the AWS calculator and do 1 GB/day of EC2 out data transfer and so the same for DynamoDB. It should be $1.40 for each.
Three examples where you might run into this charge are:
Apps in us-west-2 accessing a DynamoDB table in us-east-1.
Apps accessing a DynamoDB table over a VPN or dedicated link.
Accessing a DynamoDB table over the Internet. For obvious security purposes, this is likely not a good idea. If you are going to do it, really lock it down with IAM permissions!!!

Corda: Locate a transaction that consumed a StateRef

In Corda, given a StateRef that is CONSUMED, how can I find the transaction that consumed it?
As of Corda 3, there is no API to provide the transaction that consumed a state.
With the expected introduction of SGX to prevent nodes from seeing transactions or portions of transactions that don't concern them, we are not looking to extend the TransactionStorage API at this time.

Resources