【问题标题】:SaaS Multi-tenancy Applications: How is data import/export/backup being implemented?SaaS 多租户应用程序:如何实施数据导入/导出/备份?
【发布时间】:2010-08-17 21:30:29
【问题描述】:
应用程序如何在基于 SaaS 的多租户应用程序(尤其是单一数据库设计)中提供数据的导入/导出(或备份)?
进口:
保持简单,我认为基本导入很有用,即 CSV 到规范(或一种在 CSV 列和数据库中的字段之间提供映射的方式。
出口:
在单一数据库设计中,我看到过 XML 导出和 HTML(基本站点生成)导出数据吗?我会假设 XML 是一个更好的选择?如何满足关系数据的需求?您会在 XML 中引用各种内容并提供关系文档还是让用户自己弄清楚?
供应商是否提供可导入/恢复的导出/备份?
感谢您的 cmets。
【问题讨论】:
标签:
sql-server
backup
export
saas
multi-tenant
【解决方案1】:
我不知道它是怎么做到的,但这些是可能的场景:
- DB-per-customer
- 每个客户的架构
- 单一模式
案例 1 在备份/恢复(或导入/导出)方面是微不足道的,案例 2 类似。我大胆猜测这两种是最常用的方法。
第三个选项使导出/导入变得困难,但并非不可能。基本思想是一张表保存所有公司的数据,但通过外键区分公司。导出和导入需要使用相同类型的 ETL 工具,因为这些操作需要按公司 ID 进行过滤。导出过程将公司作为参数并仅为该公司运行任务。转储将采用插入语句的形式(如您可以通过 MySQL 或 PostgreSQL 获得的语句)或 XML(如由 DDLUtils 创建的语句)。
在某些情况下,单模式设置会派上用场,但我不认为多租户是其中之一。