Appropriate Use for Table Storage

RobEvans 21 Reputation points
2020-11-23T20:45:48.8+00:00

I am a complete noob with Azure and especially Azure Table Storage. I am also in the beginning phases of a feasibility study for a new project that will include mostly accounting features such as accounts receivable, accounts payable, general ledger, etc. I could do this with a sql type database, but I am attracted to the price of Azure Table Storage. After looking at available documentation, it looks to me that table storage would be more appropriate for large data dumps of lists or logs, etc. and would not be a suitable alternative for more classic sql type tables. Am I right?

Azure Table Storage
Azure Table Storage
An Azure service that stores structured NoSQL data in the cloud.
164 questions
Azure SQL Database
0 comments No comments
{count} votes

Accepted answer
  1. KalyanChanumolu-MSFT 8,321 Reputation points
    2020-11-24T04:32:11.537+00:00

    @RobEvans Welcome to Microsoft Q&A and thank you for your interest in Azure services.

    Azure Tables (Table Storage) is a solution for storing huge volumes of structured, non-relational data.

    You have a valid observation there on the cost.
    If you design the Table structure in a way that you can issue point read queries (with ParitionKey and RowKey in your query), the cost of transaction is very less and you can build for read intensive use cases as well.
    Here is a blog post detailing how Azure Tables was used to build a backend with 154 million records.

    Since you mentioned you are building a finance application here are some points that could help you decide.

    Azure Tables advantages:

    • Cheaper compared to Azure SQL Database
    • Extremely fast data access if you issue a point read (partition key + RowKey)
    • Ability to migrate to a much premium Azure CosmosDB Table API without code changes when your application scales

    Azure Tables limitations when compared to Azure SQL Database

    • Cannot use SQL with Joins to query for data
    • Queries that need to scan for data across partitions could be slow and expensive
    • Support for Transactions is limited to Partition. Azure SQL Database offers support for Transactions across tables.
    • Limitations on size of a single row (1 MB), size of a single column (64KB), number of columns per row (255)

    Please let us know if you have any further questions.

    ----------

    If an answer is helpful, please "Accept answer" or "Up-Vote" for the same which might be beneficial to other community members reading this thread.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful