{"id":14799,"date":"2020-08-01T10:53:17","date_gmt":"2020-08-01T10:53:17","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=14799"},"modified":"2022-04-04T11:42:02","modified_gmt":"2022-04-04T11:42:02","slug":"solution-for-database-scalability","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/","title":{"rendered":"Solution for database scalability"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/exam-az-304-microsoft-azure-architect-design\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to AZ-304 Tutorials<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> <strong>AZ-304 exam is retired.\u00a0<a href=\"https:\/\/www.testpreptraining.ai\/designing-microsoft-azure-infrastructure-solutions-az-305\" target=\"_blank\" rel=\"noreferrer noopener\">AZ-305<\/a>\u00a0replacement is available.<\/strong> <\/h2>\n\n\n\n<p>In this, we will understand the database scalability in Azure SQL Database using the Elastic Database tools. However, these tools and features will let you use the database resources of Azure SQL Database for creating solutions for transactional workloads and Software as a Service (SaaS) applications.&nbsp;<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Elastic Database features<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, the Elastic Database client library allows us to create and maintain sharded databases.<\/li><li>Secondly, the Elastic Database split-merge tool moves data between sharded databases.<\/li><li>Thirdly, Elastic Database jobs for managing large numbers of databases in Azure SQL Database.<\/li><li>Then, an Elastic Database query enables us to run a Transact-SQL query that spans multiple databases.<\/li><li>Lastly, Elastic transactions that allow you to run transactions that span several databases.<\/li><\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Architecture Graph with Elastic Database features in relation to a collection of databases<\/strong><\/h5>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/database-shardig-1.png\" alt=\"Architecture graph in Database scalability\" class=\"wp-image-14809\" width=\"776\" height=\"559\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/database-shardig-1.png 943w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/database-shardig-1-556x400.png 556w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><figcaption>Image Source: Microsoft<\/figcaption><\/figure><\/div>\n\n\n\n<p>In this graph:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, a set of SQL databases is hosted on Azure using sharding architecture.<\/li><li>Secondly, the Elastic Database client library is used for managing a shard set.<\/li><li>Thirdly, a subset of the databases is put into an elastic pool.&nbsp;<\/li><li>After that, an Elastic Database job runs scheduled or ad hoc T-SQL scripts against all databases.<\/li><li>Then, the split-merge tool is used for moving data from one shard to another. And, the Elastic Database query allows you to write a query that spans all databases in the shard set.<\/li><li>Lastly, Elastic transactions allow you to run transactions that span several databases.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.testpreptraining.ai\/microsoft-azure-architect-design-az-304-free-practice-test\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"150\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-304-practice-tests-5.png\" alt=\"AZ-304 practice tests\" class=\"wp-image-18213\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-304-practice-tests-5.png 961w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-304-practice-tests-5-750x117.png 750w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/a><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Horizontal and vertical scaling<\/strong><\/h4>\n\n\n\n<p>Horizontal scaling means adding or removing databases in order to adjust capacity or overall performance that means &#8220;scaling out&#8221;. Sharding, in which data is partitioned across a collection of identically structured databases, is a common way to implement horizontal scaling. On the other hand, Vertical scaling means increasing or decreasing the compute size of an individual database that is &#8220;scaling up.&#8221;<\/p>\n\n\n\n<p>However, most cloud-scale database applications use a combination of these two strategies. For example, a Software as a Service application can use horizontal scaling for provisioning new end-customers. And, vertical scaling allows each end-customer&#8217;s database to grow or shrink resources as needed by the workload.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Moving data from multiple to single-tenancy databases<\/strong><\/h4>\n\n\n\n<p>While developing a SaaS application, it is typical to provide prospective customers a trial version of the software. So, for this, it is cost-effective to use a multi-tenant database for the data. However, when a prospect becomes a customer, a single-tenant database is better since it provides better performance. And, if the customer had created data during the trial period, use the split-merge tool to move the data from the multi-tenant to the new single-tenant database.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dynamically scale database resources with minimal downtime<\/strong><\/h3>\n\n\n\n<p>Azure SQL Database and SQL Managed Instance enable to dynamically add more resources into the database with minimal downtime. However, it includes a switch that removes the connectivity to the database for a short duration. This mitigation can be using retry logic.<\/p>\n\n\n\n<p>Azure SQL Database provides the DTU-based purchasing model and the vCore-based purchasing model. Whereas Azure SQL Managed Instance only offers the vCore-based purchasing model.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, the DTU-based purchasing model provides a mixture of computing, memory, and I\/O resources in three service tiers for supporting lightweight to heavyweight database workloads. This includes Basic, Standard, and Premium. However, the performance levels within each tier provide a different mix of these resources.<\/li><li>Secondly, the vCore-based purchasing model gives access to choose the number of vCores, the amount of memory, and the amount and speed of storage. This purchasing model offers three service tiers such as General Purpose, Business Critical, and Hyperscale.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Azure SQL Database gives the ability to dynamically scale your databases:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, with a single database, you can use either DTU or vCore models for defining the maximum amount of resources in accordance with the database.<\/li><li>Secondly, elastic pools enable you to define the maximum resource limit per group of databases in the pool.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Azure SQL Managed Instance allows scaling:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>SQL Managed Instance uses vCores mode that enables us to define maximum CPU cores and maximum storage allocated to your instance. However, all databases within the managed instance will share the resources allocated to the instance.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.testpreptraining.ai\/microsoft-azure-architect-design-az-304-practice-exam\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/Az-304-online-course-4.png\" alt=\"learn about database scalability with Az-304 online course\"\/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-right\"><strong>Reference: <\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-sql\/database\/elastic-scale-introduction\" target=\"_blank\">Microsoft Documentation<\/a>, <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-sql\/database\/scale-resources\" target=\"_blank\" rel=\"noreferrer noopener\">Documentation 2<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/exam-az-304-microsoft-azure-architect-design\/\" target=\"_blank\" rel=\"noreferrer noopener\"><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/exam-az-304-microsoft-azure-architect-design\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to AZ-304 Tutorials<\/a><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go back to AZ-304 Tutorials AZ-304 exam is retired.\u00a0AZ-305\u00a0replacement is available. In this, we will understand the database scalability in Azure SQL Database using the Elastic Database tools. However, these tools and features will let you use the database resources of Azure SQL Database for creating solutions for transactional workloads and Software as a Service&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-14799","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Solution for database scalability | Microsoft Azure AZ-304<\/title>\n<meta name=\"description\" content=\"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solution for database scalability | Microsoft Azure AZ-304\" \/>\n<meta property=\"og:description\" content=\"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-04T11:42:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/database-shardig-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/\",\"name\":\"Solution for database scalability | Microsoft Azure AZ-304\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2020-08-01T10:53:17+00:00\",\"dateModified\":\"2022-04-04T11:42:02+00:00\",\"description\":\"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solution for database scalability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Solution for database scalability | Microsoft Azure AZ-304","description":"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/","og_locale":"en_US","og_type":"article","og_title":"Solution for database scalability | Microsoft Azure AZ-304","og_description":"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2022-04-04T11:42:02+00:00","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/database-shardig-1.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/","name":"Solution for database scalability | Microsoft Azure AZ-304","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2020-08-01T10:53:17+00:00","dateModified":"2022-04-04T11:42:02+00:00","description":"Upgrade your knowledge by learning about concepts and ways of Database Scalability using Microsoft Azure AZ-304 online course and practice exam Now!","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/solution-for-database-scalability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Solution for database scalability"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/14799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=14799"}],"version-history":[{"count":4,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/14799\/revisions"}],"predecessor-version":[{"id":54084,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/14799\/revisions\/54084"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=14799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=14799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=14799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}