简体   繁体   English

Azure弹性数据库池

[英]Azure Elastic Database Pool

I am in the process of designing a SaaS system that will be running in Azure and utilizing SQL Server. 我正在设计一个将在Azure中运行并利用SQL Server的SaaS系统。 The application will leverage an Azure Elastic Database Pool to support scaling out via Sharding. 该应用程序将利用Azure弹性数据库池来支持通过分片进行横向扩展。 The plan is to run a Shared-Sharded model and leverage a Shard Map to map the Tenant Id to the correct database. 该计划将运行共享共享模型,并利用碎片图将租户ID映射到正确的数据库。

I've been reading the Azure documentation and have successfully setup an Elastic DB Pool across a couple of my test databases in my DEV environment. 我一直在阅读Azure文档,并已在DEV环境中的多个测试数据库中成功设置了弹性数据库池。 So I understand how to do implement and in theory how this will work. 因此,我了解了如何执行以及从理论上讲这将如何工作。

What I am unclear on is whether it is best practice to create each Azure SQL Database (Shard) on it's own Azure SQL Server or just to run one Server with multiple databases. 我不清楚的是,最佳做法是在自己的Azure SQL Server上创建每个Azure SQL数据库(碎片),还是仅运行一个具有多个数据库的服务器。 I'm trying to work out whether there is potentially any performance bottleneck if I had 30 databases on one server vs. 30 servers with one database each. 我正在尝试确定,如果我在一台服务器上有30个数据库,而每台服务器上有30个数据库,则是否存在性能瓶颈。 In either circumstance I am assuming the 30 databases are all part of a single Elastic Pool. 在任何一种情况下,我都假设30个数据库都属于一个弹性池。

Can anyone help me understand conceptually how the resource are allocated? 谁能帮助我从概念上理解资源的分配方式? All the documentation talks about the resource being allocated to the database and the server is never mentioned so I am assuming this is somewhat irrelevant and is simply a container in the this context. 所有文档都谈到了分配给数据库的资源,并且从未提及服务器,因此我假设这是无关紧要的,并且在这种情况下只是一个容器。

This question is driven by the bulk of my experience being based on a world of physical SQL servers where there is a limit to how many databases you can resource on each server. 这个问题是由我的大量经验所驱动的,这些经验是基于物理SQL服务器的世界而定的,在该世界中,每个服务器上可以使用的数据库数量有限。

I answered my own question shortly after posting by testing in Azure. 在Azure中发布测试后不久,我回答了自己的问题。 You can only add databases located on the same database server into an Elastic Pool. 您只能将位于同一数据库服务器上的数据库添加到弹性池中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 VM 将 database.bak 文件还原到 azure 弹性池数据库 - Restore database .bak file to azure elastic pool database from VM 为 azure 弹性池数据库设置自定义时区 - Setup custom time zone for azure elastic pool database 性能Azure弹性池数据库 - Performance Azure Elastic pool databases Azure 弹性池数据库 SQL 连接超时 - DTU 购买 model - Azure Elastic Pool Database SQL Connections are Timing Out - DTU Purchasing model Azure SQL 服务器错误:弹性池已达到其存储限制。 弹性池的存储使用量不能超过 (204800) - Azure SQL Server Error : The elastic pool has reached its storage limit. The storage usage for the elastic pool cannot exceed (204800) Azure弹性数据库合并GUI密钥碎片 - Azure Elastic Database Merge GUI Key Shards 从 Azure Synapse Analytics Spark Pool 连接到 Azure SQL 数据库 - Connecting from Azure Synapse Analytics Spark Pool to Azure SQL Database Azure 弹性数据库池,数据库的最大存储容量是多少? - Azure Elastic Database Pools, What is the Maximum Storage Capacity for a Database? 从Azure Elastic Database Job读取Oracle数据库 - Read Oracle database from Azure Elastic Database Job Azure 弹性数据库池是否允许跨数据库事务? - Do Azure Elastic Database Pools allow Cross Database transactions?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM