• Deepak Sahu - Tuesday, December 4, 2018 4:13 AM

    Hi Jeff,

    Storage Transactions are the number of requests performed against your storage account.

    Storage Transactions consists of Each individual Blob, Table and Queue REST request to the storage service is considered as a potential transaction for billing. Applications can then control their transaction costs by controlling how often and how many requests they send to the storage service. We analyze each request received and then classify it as billable or not billable based upon our ability to process the request and the request’s outcome.

    How Transactions are Counted
    The first area we would want to cover for transactions is what equals 1 transaction to Windows Azure Storage. Each and every REST call to Windows Azure Blobs, Tables and Queues counts as 1 transaction (whether that transaction is counted towards billing is determined by the billing classification discussed later in this posting). The REST calls are detailed here:

    Blobs
    Tables
    Queues
    Each one of the above REST calls counts as 1 transaction. This includes the following types of requests:

    Query/List Requests and Continuation Tokens – A Table Query, and Listing Blob Containers, Tables and Queues can return continuation tokens. This means that the query/listing must be continued to complete it. As described above, each REST request to the storage service counts as 1 transaction. Therefore, each continuation of the query/list counts as an additional 1 transaction, since it is another REST request to the storage service.
    Batch Operations– We currently support two types of batch operations:
    Get Messages - the ability to get up to 32 messages at once from a Queue.
    Entity Group Transactions – the ability to perform an atomic transaction across up to 100 entities with any combination of Insert, Update, or Delete for Azure Tables. The requirement is that all of the entities have to be in the same table and have the same PartitionKey value and the total request size must be under 4Mbytes.

    From the pricing perspective the standard managed disks now following the pricing of premium managed disks. That means you are billed for the disk size and not for used GB per month. For standard managed disks you will be also charged for the number of storage transactions.

    Both types of managed disks, standard and premium, will have a charge for the managed disk snapshots and outbound data transfer.

    Have a look at the following table to get an overview.

                                                                   Standard Unmanaged    Standard Managed        Premium Unmanaged    Premium Managed
    Storage price unit -                                 Used GB per month        Disk size                          Disk size                        Disk size
    Storage transaction charge -                         Per 100.000             Per 100.000                              –                                  –
    Snapshot charge-                                   Used GB per month              –                               Used GB per month                –
    Outbound data transfer -                           GB per month             GB per month                   GB per month              GB per month

    If you have tens of million single row hits per hour (and that's just from one app), would suggest to go for Premium managed/unmanaged storage which doesnot have any charge for storage transactions.
    Thanks,
    Deepak Prasad Sahu.

    So a simple SELECT that does an Index Seek to a single row and return just that row is considered a transaction in this case?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)