【SaaS架构】SaaS架构基础知识-数据分区
视频号
微信公众号
知识星球
数据分区用于描述用于在多租户环境中表示数据的不同策略。该术语广泛用于涵盖一系列不同的方法和模型,这些方法和模型可用于将不同的数据结构与单个租户相关联。
请注意,经常有人倾向于将数据分区和租户隔离视为可互换的。这两个概念并不等同。当我们谈论数据分区时,我们谈论的是如何为单个租户存储租户数据。对数据进行分区并不能确保数据被隔离。隔离仍然必须单独应用,以确保一个租户无法访问另一个租户的资源。
每种AWS存储技术都为数据分区策略带来了自己的考虑因素。例如,在AmazonDynamoDB中隔离数据与使用AmazonRelationalDatabaseService(AmazonRDS)隔离数据看起来非常不同。
通常,在考虑数据分区时,首先要考虑数据是孤立的还是汇集的。在孤立模型中,每个租户都有一个不同的存储结构,没有混合数据。对于池式分区,数据根据租户标识符进行混合和分区,租户标识符确定哪些数据与每个租户关联。
例如,对于AmazonDynamoDB,一个孤立的模型为每个租户使用一个单独的表。通过将租户标识符存储在管理所有租户数据的每个AmazonDynamoDB表的分区键中,可以实现AmazonDynamo DB中的数据池化。
您可以想象这在AWS服务的范围内会有怎样的变化,每个服务都引入了自己的结构,这可能需要不同的方法来实现每个服务的筒仓和池存储模型。
虽然数据分区和租户隔离是单独的主题,但您选择的数据分区策略可能会受到数据隔离模型的影响。例如,您可能会存储一些存储,因为这种方法最符合您的领域或客户的要求。或者,您可能会选择思洛存储器,因为池模型可能不允许您以解决方案所需的粒度级别强制隔离。
吵闹的邻居也会影响你的隔离方式。应用程序中的某些工作负载或用例可能需要保持独立,以限制来自其他租户的影响或满足服务级别协议(SLA)。
- 9 次浏览