云应用设计:架构师视角
1. 多租户数据库设计
在云应用设计中,多租户数据库设计是一个关键环节,主要涉及共享数据库、数据安全和数据可扩展性等方面。
- 共享数据库的特点
- 采用共享架构方法的共享数据库能使成本最小化,但应用复杂度会大幅提高,适合注重成本的客户。不过,恢复客户数据较为复杂,因为要恢复特定租户的特定行,此操作可能影响其他使用该共享数据库的租户。
- 数据安全
- 安全级别 :需考虑租户级(通常是组织)和最终用户级(租户成员或员工)两个安全级别。
- 实现方式
- 租户级:创建数据库访问账户,通过访问控制列表(ACLs)指定特定租户可访问的数据库对象,还可使用安全令牌服务实现访问控制。
- 应用级:防止用户访问无权访问的数据。
- 数据加密:组织政策或法规要求可能强制对静态数据进行加密,云服务提供商和第三方供应商提供多种加密选项,从客户端手动加密到全自动解决方案。建议对云数据库和存储中的敏感数据字段进行加密,但要避免对数据库中所有内容加密,以免影响性能,应仔细识别敏感信息字段并选择性加密。
- 租户ID存储:为数据库中所有记录存储租户ID,无论采用何种多租户实现方法,这有助于后续可能的数据库迁移。
- 数据可扩展性
- 原因 :固定的数据库架构无法满足所有客户需求,客户有特定业务规则和数据需求,希望对数据库架构进行自定义,但不能过度改变架构,以免产品不符合软件即服务(SaaS
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



