More Related Content Similar to [第2回 Azure Cosmos DB 勉強会] Data modelling and partitioning in Azure Cosmos DB (Azure Cosmos DB でのデータモデリングとパーティション分割) (20) More from Naoki (Neo) SATO (20) [第2回 Azure Cosmos DB 勉強会] Data modelling and partitioning in Azure Cosmos DB (Azure Cosmos DB でのデータモデリングとパーティション分割)1. Data modelling and partitioning in Azure
Cosmos DB
(Azure Cosmos DB でのデータ モデリングとパーティション分割)
3. What is Azure Cosmos DB?
Non-relational and horizontally scalable
6. What is Azure Cosmos DB?
non-relational
and
horizontally scalable
7. So is Azure Cosmos DB suitable for relational
workloads?
46. Products: how to return category and tag names?
products
SELECT * FROM c WHERE c.categoryId = 'CategoryA'
productCategories
SELECT c.name FROM c WHERE c.id = 'CategoryA'
productTags
SELECT * FROM c
WHERE c.id IN ('<tagId1>', '<tagId2>', '<tagId3>')
65. Sales orders: mixing with customers
CustomerA
CustomerC
CustomerB
customer sales orders
customers
PK: customerId
70. Denormalizing the count of sales orders per customer
CustomerA
CustomerC
CustomerB
customer sales orders
customers
PK: customerId
71. Denormalizing the count of sales orders per customer
CustomerA
CustomerC
CustomerB
update the customer add a sales order
customers
PK: customerId
72. Denormalizing the count of sales orders per customer
CustomerA
CustomerC
CustomerB
update the customer add a sales order
75. Our final design, optimized!
customers
PK: customerId
productMeta
PK: type
products
PK: categoryId