In the initial version of the resource provider schema in the placement API, we stuck with a simple world-view that resource providers could be related to each other only via an aggregate relationship. In other words, a resource provider “X” may provide shared resources to a set of other resource providers “S” if and only if “X” was associated with an aggregate “A” that all members of “S” were also associated with. This relationship works perfectly fine for things like shared storage or IP pools. However, certain classes of resource require a more parent->child relationship than a many-to-many relationship that the aggregate association offers. Two examples of where a parent->child relationship is more appropriate are when handling VCPU/MEMORY_MB resources on NUMA nodes on a compute host and when handling SRIOV_NET_VF resources for NICs on a compute host. In the case of NUMA nodes, the system must be able to track how many VCPU and MEMORY_MB have been allocated from each individual NUMA node on the host. Allocating memory to a guest and having that memory span address space across two banks of DIMMs attached to different NUMA nodes results in sub-optimal performance, and for certain high-performance guest workloads this penalty is not acceptable.
时间: 2024-02-14 20:33:25 浏览: 30
在placement API中的资源提供者模式的初始版本中,我们坚持了一个简单的观点,即资源提供者之间只能通过聚合关系相互关联。换句话说,如果且仅当资源提供者“X”与所有成员资源提供者“S”都关联到同一个聚合“A”时,资源提供者“X”才能向资源提供者“S”提供共享资源。
这种关系对于共享存储或IP池等情况非常适用。然而,某些类型的资源需要比聚合关联提供更多的父->子关系。两个更适合父->子关系的例子是在计算主机上处理NUMA节点上的VCPU/MEMORY_MB资源以及在计算主机上处理SRIOV_NET_VF资源的网卡。
在NUMA节点的情况下,系统必须能够跟踪从主机上的每个单独NUMA节点分配了多少VCPU和MEMORY_MB。将内存分配给虚拟机,并使该内存跨越连接到不同NUMA节点的两组DIMM的地址空间,会导致性能下降,并且对于某些高性能虚拟机工作负载来说,这种性能损失是不可接受的。
相关问题
Correct the classpath of your application so that it contains a single, compatible version of springfox.documentation.schema.ClassSupport
I'm sorry, but I am not sure what specific application you are referring to. Can you please provide more context or information about the application and the issue you are facing? This will help me provide a more accurate response. Thank you.
The database principal owns a schema in the database, and cannot be dropped.
这个错误是因为您正在尝试删除拥有模式(schema)的数据库主体(database principal)。在 SQL Server 中,模式是一种逻辑容器,可以用来组织和管理数据库对象,如表、视图、存储过程等。每个数据库主体都可以拥有一个或多个模式。如果您尝试删除一个拥有模式的数据库主体,将会收到如上所述的错误消息。
要解决这个问题,您需要按照以下步骤操作:
1. 首先,使用以下语句查找拥有模式的数据库主体的名称和模式的名称:
```
USE [database_name];
SELECT s.name AS schema_name, dp.name AS principal_name
FROM sys.schemas s
INNER JOIN sys.database_principals dp ON dp.principal_id = s.principal_id
WHERE dp.name = 'principal_name';
```
请将 "database_name" 替换为您的数据库名称,将 "principal_name" 替换为您要删除的数据库主体名称。
2. 然后,将该数据库主体从其模式中移除。例如,以下语句将名为 "principal_name" 的数据库主体从名为 "schema_name" 的模式中移除:
```
USE [database_name];
ALTER AUTHORIZATION ON SCHEMA::[schema_name] TO dbo;
```
请将 "database_name" 替换为您的数据库名称,将 "schema_name" 替换为上一步中找到的模式名称。
3. 最后,您可以使用 DROP USER 或 DROP LOGIN 语句删除该数据库主体。例如,以下语句将名为 "principal_name" 的数据库主体删除:
```
USE [database_name];
DROP USER [principal_name];
```
请将 "database_name" 替换为您的数据库名称,将 "principal_name" 替换为要删除的数据库主体名称。
请注意,在执行任何删除操作之前,请务必备份您的数据库以防止数据丢失。