|
1 | 1 | ---
|
2 | 2 | title: What is Azure Cosmos DB analytical store?
|
3 |
| -description: Learn about Azure Cosmos DB transactional (row-based) and analytical(column-based) store. Benefits of analytical store, performance impact for large-scale workloads, and auto sync of data from transactional store to analytical store |
| 3 | +description: Learn about Azure Cosmos DB transactional (row-based) and analytical(column-based) store. Benefits of analytical store, performance impact for large-scale workloads, and auto sync of data from transactional store to analytical store. |
4 | 4 | author: Rodrigossz
|
5 | 5 | ms.service: cosmos-db
|
6 | 6 | ms.topic: conceptual
|
@@ -276,7 +276,7 @@ WITH (num varchar(100)) AS [IntToFloat]
|
276 | 276 | It is possible that an old document, with an incorrect schema, was used to create your container's analytical store base schema. Based on all the rules presented above, you may be receiving `NULL` for certain properties when querying your analytical store using Azure Synapse Link. To delete or update the problematic documents won't help because base schema reset isn't currently supported. The possible solutions are:
|
277 | 277 |
|
278 | 278 | * To migrate the data to a new container, making sure that all documents have the correct schema.
|
279 |
| - * To abandon the property with the wrong schema and add a new one, with another name, that has the correct schema in all documents. Example: You have billions of documents in the **Orders** container where the **status** property is a string. But the first document in that container has **status** defined with integer. So, one document will have **status** correctly represented and all other documents will have `NULL`. You can add the **status2** property to all documents and start to use it, instead of the original property. |
| 279 | + * To abandon the property with the wrong schema and add a new one with another name that has the correct schema in all documents. Example: You have billions of documents in the **Orders** container where the **status** property is a string. But the first document in that container has **status** defined with integer. So, one document will have **status** correctly represented and all other documents will have `NULL`. You can add the **status2** property to all documents and start to use it, instead of the original property. |
280 | 280 |
|
281 | 281 | #### Full fidelity schema representation
|
282 | 282 |
|
@@ -482,7 +482,7 @@ It's possible to use full fidelity Schema for API for NoSQL accounts, instead of
|
482 | 482 | * Currently, if you want to use full fidelity schema with NoSQL or Gremlin API accounts, you have to set it at account level in the same CLI or PowerShell command that will enable Synapse Link at account level.
|
483 | 483 | * Currently Azure Cosmos DB for MongoDB isn't compatible with this possibility of changing the schema representation. All MongoDB accounts have full fidelity schema representation type.
|
484 | 484 | * It's not possible to reset the schema representation type, from well-defined to full fidelity or vice-versa.
|
485 |
| -* Currently, containers schema in analytical store are defined when the container is created, even if Synapse Link has not been enabled in the database account. |
| 485 | +* Currently, containers schemas in analytical store are defined when the container is created, even if Synapse Link has not been enabled in the database account. |
486 | 486 | * Containers or graphs created before Synapse Link was enabled with full fidelity schema at account level will have well-defined schema.
|
487 | 487 | * Containers or graphs created after Synapse Link was enabled with full fidelity schema at account level will have full fidelity schema.
|
488 | 488 |
|
@@ -569,7 +569,7 @@ Synapse Link, and analytical store by consequence, has different compatibility l
|
569 | 569 | * Periodic backup mode is fully compatible with Synapse Link and these 2 features can be used in the same database account.
|
570 | 570 | * Currently Continuous backup mode and Synapse Link aren't supported in the same database account. Customers have to choose one of these two features and this decision can't be changed.
|
571 | 571 |
|
572 |
| -### Backup Polices |
| 572 | +### Backup policies |
573 | 573 |
|
574 | 574 | There are two possible backup polices and to understand how to use them, the following details about Azure Cosmos DB backups are very important:
|
575 | 575 |
|
@@ -605,7 +605,7 @@ If you want to delete the original container but don't want to lose its analytic
|
605 | 605 | It's important to note that the data in the analytical store has a different schema than what exists in the transactional store. While you can generate snapshots of your analytical store data, and export it to any Azure Data service, at no RUs costs, we can't guarantee the use of this snapshot to back feed the transactional store. This process isn't supported.
|
606 | 606 |
|
607 | 607 |
|
608 |
| -## Global Distribution |
| 608 | +## Global distribution |
609 | 609 |
|
610 | 610 | If you have a globally distributed Azure Cosmos DB account, after you enable analytical store for a container, it will be available in all regions of that account. Any changes to operational data are globally replicated in all regions. You can run analytical queries effectively against the nearest regional copy of your data in Azure Cosmos DB.
|
611 | 611 |
|
@@ -653,7 +653,7 @@ In order to get a high-level cost estimate to enable analytical store on an Azur
|
653 | 653 |
|
654 | 654 | Analytical store read operations estimates aren't included in the Azure Cosmos DB cost calculator since they are a function of your analytical workload. But as a high-level estimate, scan of 1 TB of data in analytical store typically results in 130,000 analytical read operations, and results in a cost of $0.065. As an example, if you use Azure Synapse serverless SQL pools to perform this scan of 1 TB, it will cost $5.00 according to [Azure Synapse Analytics pricing page](https://azure.microsoft.com/pricing/details/synapse-analytics/). The final total cost for this 1 TB scan would be $5.065.
|
655 | 655 |
|
656 |
| -While the above estimate is for scanning 1TB of data in analytical store, applying filters reduces the volume of data scanned and this determines the exact number of analytical read operations given the consumption pricing model. A proof-of-concept around the analytical workload would provide a more finer estimate of analytical read operations. This estimate doesn't include the cost of Azure Synapse Analytics. |
| 656 | +While the above estimate is for scanning 1TB of data in analytical store, applying filters reduces the volume of data scanned and this determines the exact number of analytical read operations given the consumption pricing model. A proof-of-concept around the analytical workload would provide a finer estimate of analytical read operations. This estimate doesn't include the cost of Azure Synapse Analytics. |
657 | 657 |
|
658 | 658 |
|
659 | 659 | ## Next steps
|
|
0 commit comments