问题域/PD-299

多租户数据隔离

Multi-Tenant Data Isolation

workspace+namespace双层隔离实现多租户数据分离,每个租户独立存储空间

子问题

1.命名空间设计

2.跨租户数据隔离

3.默认workspace兼容

4.初始化状态管理

5.多进程 worker 间的初始化竞争保护

6.namespace 级细粒度锁与 asyncio/mp 双模式切换

7.ContextVar 实现协程安全的可重入命名空间锁

各项目的解法1 solutions

Signals

横向对比

维度LightRAG
隔离层级workspace(租户)+namespace(存储类型) 双层正交隔离
存储隔离方式文件系统目录隔离,workspace 对应子目录
共享状态管理multiprocessing.Manager 跨进程共享字典 + init_flags 竞争保护
锁粒度namespace 级 KeyedUnifiedLock,asyncio/mp 双模式自动切换
向后兼容set_default_workspace 全局回退,旧 API 无需修改

最佳实践

1.workspace:namespace组合key

2.shared_storage统一管理跨进程状态

3.NameSpace 常量枚举防止拼写错误

4.try_initialize_namespace 原子标志防止多 worker 重复加载

5.KeyedUnifiedLock 按 sorted(keys) 顺序获取锁避免死锁