如今,一家典型公司的每个部门都在处理数据。这些部门使用的每种工具也是如此。无论您是在处理广告活动、产品分析工具还是崩溃日志记录工具,有一点很清楚:您有大量可操作的数据需要挖掘。
但是,当您的每个数据集都位于不同的工具中时,您该怎么办?如果将所有数据集中在一个地方,以便您可以将它们连接在一起、运行 SQL 并构建仪表板,岂不是更容易?
我们将讨论将所有数据集中在一个地方的最常见方法,并从成本、工程资源和通用性方面评估每种方法。
将所有数据集中在一个地方的最常见方法
数据仓库是专门用于分析目的的数据库。您的产品不依赖于它运行,但您的业务可以使用它来构建其所有查询和仪表板。仓库允许您进行快速分析,而无需查询您的产品数据库,这可能会导致您的产品速度减慢。常用的数据仓库示例包括 Redshift(AWS 的一部分)、BigQuery(Google Cloud 的一部分)和 Snowflake。
直接集成
许多工具都提供与数据仓库或 BI 工具的直接集成。例如,Mixpanel 有一个“数据管道”附加组件,可让您轻松地将其所有数据导出到您选择的仓库中。客户数据平台工具 Segment 将数据仓库作为您发送所有捕获数据的可能目的地。因此,如果您希望将来自多个工具的数据放入一个位置,请首先检查看看它们中的任何一个或全部是否与您的仓库或 BI 工具具有内置集成。
直接集成通常非常快速,并且成本也不高(某些工具免费提供),但缺点是它们用途不是很广泛。只有一部分工具提供这样的集成,因此,如果您需要的工具不提供集成,那么您就很不幸了。
ETL 工具
多年来,从多个来源整合数据一直是公司长期存在的需求,这花费了公司大量的时间和金钱,因此近年来,我们出现了一整类工具,专门以无代码方式处理这种需求。这些工具通常被称为“ETL 工具”;一些示例包括 Fivetran、Hevo 和 Stitch。
ETL 工具有一组针对“来源”和“目的地”的预构建集成。顾名思义,“来源”是指任何数据源,如营销分析或产品分析工具。“目的地”是指将从来源获取的数据存入的任何位置,通常是数据仓库。
ETL 工具的好处在于它们是无代码的。您通常可以在几分钟内设置好管道,然后监控管道的运行情况。ETL 工具为您节省了大量时间和资源,并且它们的管道始终质量很高。缺点是,如果您的数据量非常大,则它们可能会花费很多。但是对于大多数初创公司来说,您每月只需花费约 200-300 美元即可使用 ETL 工具。它们的另一个限制是选择:您只能将这些工具与工具支持的数据源和目标一起使用。因此,在您决定使用 ETL 工具之前,请先检查它们的集成列表,以确保您的工具包含在其中。
总结一下,ETL 工具占用极少的工程资源,并且通常用途广泛。它们唯一的缺点是在数据量大的情况下成本较高。
自定义脚本
最后但并非最不重要的是,我们有经过时间考验的移动数据方式:自定义脚本。几乎每个工具都提供 API,可用于导出/导入数据。因此,如果您的工具不提供自己的集成,并且您的首选 ETL 工具也没有涵盖它,那么您始终可以编写一个脚本,通过其 API 将数据导出到您选择的目标。
通常,这些类型的脚本是用 Python 或 JavaScript 编写的,并且设置为定期运行。它们的频率取决于您的需求,通常是每天。
自定义脚本是最通用的,也是所有选项中最便宜的,就您必须直接支付的金额而言,以便启动并运行系统,但它们占用了最多的工程资源。这似乎是一个有吸引力的权衡,但在我的经验中,团队往往低估了构建和维护脚本所涉及的工作。因此,只有当您的工程团队有带宽并且尝试过上面提到的其他选项时,才继续使用此方法。
您应该采取哪种方法?
您如何解决这个问题取决于您的数据源、您的工程资源和您的财务资源。在许多情况下,一家公司最终会结合使用上述所有方法。但是在您开始使用任何这些方法之前,请确保您检查一下所讨论的数据源是否非常适合您选择的方法:它们是否与您的 ETL 工具集成?它们是否提供良好的 API?此外,请确保您有资源来实施该解决方案。