An agricultural technology system uses an Azure Cosmos DB Core (SQL) API container to store telemetry data from active IoT soil sensors. The system has the following workload characteristics:
- Sensor telemetry is ingested continuously with high-throughput writes.
- Queries frequently retrieve the telemetry history for a specific sensor over a single day to display daily graphs.
- The container uses stored procedures to perform atomic batch transactions that update daily average readings, requiring all telemetry items for a specific sensor on a specific day to reside in the same logical partition.
- Using either the sensor identifier (`SensorId`) or the date (`ReadingDate`) alone as the partition key would lead to hot partitions.
Which partition key strategy should you implement to satisfy these requirements while optimizing throughput and avoiding hot partitions?
- Create a synthetic partition key by concatenating the sensor identifier and the reading date.Cevap
- BConfigure the partition key as the reading date and append a random suffix to the value.
- CDefine a composite partition key using the sensor identifier and the sensor status.
- DConfigure the partition key as the sensor identifier and enforce Session consistency for all client sessions.