AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 211982
Accepted
Yoshi
Yoshi
Asked: 2018-07-12 23:18:15 +0800 CST2018-07-12 23:18:15 +0800 CST 2018-07-12 23:18:15 +0800 CST

使用数据仓库提供重组的非 BI 数据是否是一种不好的做法?

  • 772

主要目标是案例优化的数据表示。这个想法是从多个数据库收集数据,将数据保存在数据仓库中,并重组/连接数据集市中的数据(类似于跨多个数据库的视图)。基本上,目的是让访问分布在数据库中的数据变得更容易。

数据集市

正如您在图片中看到的那样,计划是拥有依赖数据集市(显示在图片的上半部分)以避免像独立数据集市(显示在图片的底部)那样具有多个清理和加载进程。数据仓库的 BI 方面也将被使用,但与我的问题无关。只会更改数据库中的数据。DW 中表示的数据仅供阅读之用。所以基本概念是没有伤害的。但我仍然觉得 DW 在这里被滥用了。

要回答我的问题,请包括以下几点:

  • DW 是否被滥用?
  • 是否有任何 DW 具有适合(接近)实时功能的数据连接器?
  • 哪些替代方案可以满足这些要求,以连接来自多个数据库的数据,并以干净和结构化的方式实时表示它们,而无需大量的清理和加载过程?
etl data-warehouse
  • 1 1 个回答
  • 131 Views

1 个回答

  • Voted
  1. Best Answer
    Daniel Hutmacher
    2018-07-13T03:39:42+08:002018-07-13T03:39:42+08:00

    第一个(顶部)示例本质上是为 BI 数据仓库和数据集市设计 ETL 过程的最常用方法。您不需要下面的示例,因为您需要构建、部署/版本化和对同一代码的多个实例进行故障排除。

    至于“滥用”与否,这完全取决于您如何设计数据集市。通常,星型模式是为分析而设计的,但毫无疑问它不适用于 OLTP 类型的工作。我会考虑在加载时重塑数据所需的工作量 - 是否值得额外的复杂性,或者您最好直接从您的应用程序查询源数据库?也许源数据库中的数据库视图可以做同样的事情,但复杂性要低得多?

    真正小心“实时”BI 实施:您构建的解决方案越“实时”,它不可避免地会变得越复杂。

    一方面,每晚执行截断和加载的进程构建和运行起来相对简单。

    以及每小时运行一次的增量加载,您需要开始识别源数据中新的、更改的甚至可能删除的 (!) 行。这可能很难甚至不可能,具体取决于源数据的结构或发送给您的方式。

    一个完整的“实时”解决方案(在引号内,因为除非您只查看源数据库,否则它不是真正的实时)可能需要对每个从属表进行某种更改捕获、触发器或类似的复杂逻辑。所有这些都可能对源数据库的性能和稳定性产生不利影响。

    当这些表交互时,它会变得更加复杂和昂贵,例如,如果您需要将雪花模式连接到星型模式中。

    要回答您的第三个问题,几乎所有 ETL 工具(SSIS、Pentaho 等)都将支持基本数据仓库 ETL。一旦你添加了近实时逻辑,平台 ETL 工具的选择就变得不那么重要了(无论如何你可能需要自己编写大部分脚本),并且解决方案变得非常依赖于源数据的数据库平台以及基础设施和数据仓库的平台。

    • 0

相关问题

  • 有任何开源/免费 ETL 吗?[关闭]

  • 开源商业智能/DWH 解决方案 [关闭]

  • 数据仓库创建

  • 如何使用 ETL?

  • 在数据仓库中实现多对多关系有哪些方法?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve