如何处理多租户数据仓库(每个客户都有一个独特的架构)?
How to handle multitenant data warehouse (each customer has a unique schema)?
所以我正在尝试为每个客户都有自己的数据库和唯一架构的服务设置数据仓库。我如何着手建立一个仓库,以便每个客户都有自己的语义层/关系模型自动设置(因为我们(集中)不知道每个数据库中有什么)以便每个客户都可以轻松地报告他们的数据?有没有我们可以遵循的自动过程?我错过了什么吗?
有很多方法可以解决这个问题。
- 将所有 table 降落在不同模式的着陆区。
- 将数据暂存到适当的暂存 table 中以用于暗淡和事实加载。
- 创建一个 dim table 来标识客户区域。例如:Dim_Source
- 将数据加载到事实 table 中。任何特定客户都可以使用 Dim_Source 值从事实中筛选数据。
- 此设计也有助于整体企业报告。
希望对您有所帮助。
我将从 Kimball BUS 矩阵开始。
干杯
尼辛
这取决于您是否需要数据的统一视图,或者每个客户的数据是否要保持隔离。
如果整合是 objective(多租户 SAAS 供应商对客户数据进行整合概览有巨大好处),那么 Nithin B 的建议很好。
如果需要单独的仓库,那么您需要考虑如何优化成本。两个最大的组成部分将是 ETL/ELT 和数据库托管。
实现 ETL/ELT 的最快方法是数据仓库自动化。您会在我们的网站 (http://ajilius.com/competitors) 上找到一个很好的供应商列表。寻找一种解决方案,让您能够灵活地满足您的部署选项(云 and/or 内部部署),以及您访问客户数据所需的地理范围。
您将托管自己的数据库还是在云端?每个租户需要多少数据?一个好的起点是 PostgreSQL 或 SQL 服务器 (SMP),如果您的需求超出这些平台,Ajilius 可以让您灵活地立即迁移到 MPP 平台。
所以我正在尝试为每个客户都有自己的数据库和唯一架构的服务设置数据仓库。我如何着手建立一个仓库,以便每个客户都有自己的语义层/关系模型自动设置(因为我们(集中)不知道每个数据库中有什么)以便每个客户都可以轻松地报告他们的数据?有没有我们可以遵循的自动过程?我错过了什么吗?
有很多方法可以解决这个问题。
- 将所有 table 降落在不同模式的着陆区。
- 将数据暂存到适当的暂存 table 中以用于暗淡和事实加载。
- 创建一个 dim table 来标识客户区域。例如:Dim_Source
- 将数据加载到事实 table 中。任何特定客户都可以使用 Dim_Source 值从事实中筛选数据。
- 此设计也有助于整体企业报告。
希望对您有所帮助。
我将从 Kimball BUS 矩阵开始。
干杯 尼辛
这取决于您是否需要数据的统一视图,或者每个客户的数据是否要保持隔离。
如果整合是 objective(多租户 SAAS 供应商对客户数据进行整合概览有巨大好处),那么 Nithin B 的建议很好。
如果需要单独的仓库,那么您需要考虑如何优化成本。两个最大的组成部分将是 ETL/ELT 和数据库托管。
实现 ETL/ELT 的最快方法是数据仓库自动化。您会在我们的网站 (http://ajilius.com/competitors) 上找到一个很好的供应商列表。寻找一种解决方案,让您能够灵活地满足您的部署选项(云 and/or 内部部署),以及您访问客户数据所需的地理范围。
您将托管自己的数据库还是在云端?每个租户需要多少数据?一个好的起点是 PostgreSQL 或 SQL 服务器 (SMP),如果您的需求超出这些平台,Ajilius 可以让您灵活地立即迁移到 MPP 平台。