{"id":4001,"date":"2022-02-17T10:58:21","date_gmt":"2022-02-17T18:58:21","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=4001"},"modified":"2022-02-17T10:58:21","modified_gmt":"2022-02-17T18:58:21","slug":"microsoft-mechanics-video-azure-cosmos-db-nosql-database-for-high-performance-scalability","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/microsoft-mechanics-video-azure-cosmos-db-nosql-database-for-high-performance-scalability\/","title":{"rendered":"Microsoft Mechanics video: Azure Cosmos DB NoSQL Database for High Performance &#038; Scalability"},"content":{"rendered":"<p>Discover the best ways to scale your cloud database and optimize costs for Azure Cosmos DB in <a href=\"https:\/\/youtu.be\/PZAQHUv8wLk\" target=\"_blank\" rel=\"noopener\">the latest Microsoft Mechanics video about Azure Cosmos DB<\/a>, Microsoft&#8217;s fast NoSQL database for apps of any scale or size.\u00a0 Jeremy Chapman and Estefani Arroyo explore flexible schema, horizontal scale, the key elements of a strong partition strategy, and ways to manage costs with serverless or autoscale throughput.<\/p>\n<p><iframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/PZAQHUv8wLk\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe>\nYou can further explore the key concepts introduced in the video with Azure Cosmos DB technical documentation:<\/p>\n<h4><em>Flexible schema<\/em><\/h4>\n<p>Most operational data generated across industries is semi-structured or unstructured. The highly variable nature of these data sources means the database needs to be equally flexible for that data to land. <a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/relational-nosql\" target=\"_blank\" rel=\"noopener\">Read technical documentation about flexible schema\n<\/a><\/p>\n<h4><em>Horizontal scale<\/em><\/h4>\n<p>To handle the high volume of operational data applications now generate, Azure Cosmos DB scales <em>out<\/em> rather than <em>up<\/em>. Instead of provisioning larger and larger VMs to scale compute with growing request volume, Azure Cosmos DB distributes work across physical partitions allowing requests to be served in parallel.\u00a0<a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/partitioning-overview\" target=\"_blank\" rel=\"noopener\">Read technical documentation about horizontal scale\u00a0<\/a><\/p>\n<h4><em>Partition strategy<\/em><\/h4>\n<p>Scale-out databases leverage a partition key as a placement hint for where to distribute data. Choosing the right partition key will ensure the work of serving read\/write requests is distributed evenly across partitions. This is how we avoid throttling as well as paying for wasted compute. <a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/sql\/modeling-data\" target=\"_blank\" rel=\"noopener\">Read technical documentation about NoSQL database partitioning\u00a0<\/a><\/p>\n<h4><em>Free tier<\/em><\/h4>\n<p>The Azure Cosmos DB free tier now offers the first 1,000 Request Units per Second (RU\/s) and 25 GBs of storage per month free for the life of your account. This is great for small applications, like the invoicing scenario from the video and many other dev\/test or small production scenarios. <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cosmos-db\/free-tier\">Read technical documentation about Azure Cosmos DB free tier\u00a0<\/a><em>\n<\/em><\/p>\n<h4><em>Serverless<\/em><\/h4>\n<p>This consumption-based pricing option for Azure Cosmos DB is billed monthly at a fixed rate per 1 million requests. Serverless with Azure Cosmos DB is a cost-effective way to run apps with spiky or intermittent traffic, and for dev\/test workloads. <a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/serverless\" target=\"_blank\" rel=\"noopener\">Read technical documentation about Azure Cosmos DB serverless\u00a0<\/a><\/p>\n<h4><em>Autoscale<\/em><\/h4>\n<p>Autoscale provisioned throughput is another way to prevent spending on unused capacity. With the Azure Cosmos DB autoscale provisioned throughput model, you can set a maximum amount of provisioned throughput, and hour by hour the database will scale out and in to meet the maximum request volume on the database. <a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/provision-throughput-autoscale\" target=\"_blank\" rel=\"noopener\">Read technical documentation about Azure Cosmos DB autoscale\u00a0\u00a0<\/a><\/p>\n<h3><strong>Get started<\/strong><\/h3>\n<p><a href=\"https:\/\/aka.ms\/create-cosmos-account\">Create a new Azure Cosmos DB account<\/a> and activate the <a href=\"https:\/\/aka.ms\/cosmos-free-tier\">free tier<\/a>\u00a0during account creation. There is a limit of one free tier account per Azure subscription. Check out our\u00a0<a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/\">quickstarts and tutorials<\/a>\u00a0or try out a\u00a0<a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/create-notebook-visualize-data\">sample notebook<\/a>\u00a0to see what you can do with Azure Cosmos DB.<\/p>\n<p>See the\u00a0<a href=\"https:\/\/azure.microsoft.com\/pricing\/details\/cosmos-db\">Azure Cosmos DB pricing page<\/a>\u00a0for more details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A new video by Microsoft Mechanics explores ways to get started with Azure Cosmos DB and build a NoSQL database for high performance and scalability. <\/p>\n","protected":false},"author":18741,"featured_media":4002,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,19],"tags":[1808],"class_list":["post-4001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-sql-api","category-tips-and-tricks","tag-best-practices"],"acf":[],"blog_post_summary":"<p>A new video by Microsoft Mechanics explores ways to get started with Azure Cosmos DB and build a NoSQL database for high performance and scalability. <\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/4001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/18741"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=4001"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/4001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/4002"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=4001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=4001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=4001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}