如何处理多租户数据仓库(每个客户都有一个独特的架构)?

时间:2017-04-13 14:02:53

标签: data-warehouse

所以我正在尝试为服务建立一个数据仓库,其中每个客户都有自己的数据库和唯一的模式。我如何设置仓库,以便每个客户自动设置自己的语义层/关系模型(因为我们(集中)不知道每个数据库中的内容)这样每个客户都可以轻松地报告他们的数据?我们可以遵循任何自动流程吗?我错过了什么吗?

2 个答案:

答案 0 :(得分:6)

这取决于您是否需要统一的数据视图,或者是否要保持每个客户的数据是隔离的。

如果合并是目标(并且多租户SAAS供应商拥有对客户数据进行综合概述的巨大好处),那么Nithin B的建议是好的。

如果需要单独的仓库,那么您需要考虑如何优化成本。最大的两个组件是ETL / ELT和数据库托管。

ETL / ELT最快的方法是数据仓库自动化。您可以在我们的网站上找到一个很好的供应商列表(http://ajilius.com/competitors)。寻找一种解决方案,使您能够灵活地满足部署选项(云和/或内部部署),以及访问客户数据所需的地理范围。

您将托管自己的数据库还是云端?每个租户需要多少数据?一个很好的起点是PostgreSQL或SQL Server(SMP),如果您的需求超过这些平台,Ajilius可以让您灵活地立即迁移到MPP平台。

答案 1 :(得分:1)

有很多方法可以解决这个问题。

  1. 以不同的模式登陆Landing区域中的所有表格。
  2. 将数据分段到适当的临时表中,用于暗淡和事实负载。
  3. 创建一个昏暗的表格以标识客户区域。例如:Dim_Source
  4. 将数据加载到事实表中。任何特定客户都可以使用Dim_Source值从事实中过滤数据。
  5. 此设计也有助于整体企业报告。
  6. 希望有所帮助。

    我将从一个Kimball BUS矩阵开始。

    干杯 尼西