Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 2.52 KB

File metadata and controls

30 lines (20 loc) · 2.52 KB

Data storage

Relecloud decided to use Azure Cosmos DB as the main data storage for the solution entities. Since Relecloud targets a globally distributed audience accessing its services from different parts of the world, Cosmos DB provides key advantages:

  • A global distribution capability replicates data in different Azure Data centers around the world making the data closer to consumers thereby reducing the response time.
  • Independent storage and throughput scale capability allows for great granularity and flexibility that can be used to adjust for unpredictable usage patterns.
  • Being the main centric entities in the solution, Trip entities capture the trip state such as the associated driver, the associated passenger, the available drivers and many other metrics. It is more convenient to query and store Trip entities as a whole without requiring transformation or complex object to relational mapping layers.
  • Trip schema can change without having to go through database schema changes. Only the application code will have to adjust to the schema changes.

Please note that the Cosmos DB Main and Archive collections used in the reference implementation use a fixed data size and the minimum 400 RUs without a partition key. This will have to be addressed in a real solution.

In addition to Azure Cosmos DB, Relecloud decided to use Azure SQL Database to persist trip summaries so they can be reported on in Power BI, for example. Please refer to Power BI Handler section of the services intercommunication document for more details.

Next steps

Set up the storage components for the reference architecture:

Read about the single page application (SPA) used as a user-facing static website for this reference architecture: