It is mentioned in most of the articles that if we are using Cosmos Db and newly creating our app we should go with Cosmos db sql api . Mongo api and cassandra api can be used when u already have your app integrated with actual mongo and cassandra and we want to migrate quickly to cosmosdb and not change the ecosystem.
But when we create a new cluster of cosmosdb in azure it ask for api type. That means internally there must be some storage differences and internal engine processing differences apart from just the api(query) interfaces.
I would like to understand what are those differences based on which we should decide the different apis to choose.
Yes, there are differences in how Azure stores the data. Apart from the storage, Different APIs support native wire protocol used to communicate.
From azure guides:
Azure Cosmos DB SQL API accounts support querying items using sql as a JSON query language.
Azure Cosmos DB MongoDB API is compatible with version 3.6 of the MongoDB wire protocol.
Azure Cosmos DB Cassandra API is compatible with CQL version v4. However, there are limitations to the CQL commands.
Please refer https://learn.microsoft.com/en-us/azure/cosmos-db/cassandra-support for more details.