How is Cosmos DB data supposed to be structured

Solution 1:

Maybe here is not an absolute answer, just for your reference.In fact, your data format does not limits which database you choose, both databases have their pros and cons.

Relational database such as SQL database :

Relational databases excel at handling highly structured data and provide support for ACID (Atomicity, Consistency, Isolation, and Durability) transactions. Data is easily stored and retrieved using SQL queries. The structure can be scaled up quickly because adding data without modifying existing data is simple.

However,the biggest weakness of relational databases is the mirror of their biggest strength. As good as they are at handling structured data, they have a hard time with unstructured data.

Un-relational databases like Cosmos DB:

Document stores are very flexible. They handle semistructured and unstructured data well. Users don’t need to know during set-up what types of data will be stored, so this is a good choice when it isn’t clear in advance what sort of data will be incoming.

NoSQL databases have the ability to incorporate any type of data, without losing any of its scaling abilities and allows users to make changes in real-time.

In additional,cost is also a factor to consider.You could check this thread: Comparison between Azure SQL cost vs DocumentDB/CosmosDB cost.

In my opinion, if your data is almost always structured, the business logic is highly coupled,then I suggest using SQL database. If your data is only partially structured, and the data format is more flexible and easier to scale horizontally, I suggest you use Cosmos DB.