Cointime

扫码下载App
iOS & Android

构建区块链 ETL,这些问题你不得不关注

作者:Nikhil Bhintade 编译:Cointime.com 237

随着区块链技术的进一步普及,企业正在寻求从中提取有意义的见解。要从区块链数据中提取这些见解,就必须开发一个专门设计用于此目的的强大的 ETL(Extract, Transform, Load)数据处理流水线。

然而,构建这样一个 ETL 流水线,无论是涉及多个区块链还是单个区块链的数据,都面临着自己独特的挑战

在本文中,我们深入探讨了构建区块链 ETL 流水线时遇到的关键挑战。通过了解这些挑战,您可以制定克服它们的策略。

区块链 ETL 的挑战

任何构建区块链 ETL 流水线的人都需要了解这些挑战,以更好地应对处理区块链数据的复杂性并优化 ETL 流水线。区块链 ETL 面临的挑战涵盖了从数据挑战到构建 ETL 流水线所需工具的可用性。

让我们详细了解每个挑战。

数据索引

对区块链数据进行索引是一个耗时的过程,可能需要几周或几个月,这取决于区块链的大小。例如,以太坊的区块链大小约为 14.5TB。像这样对区块链进行索引意味着处理和组织 14.5TB 的数据,根据您的要求,这将需要一段时间。

数据需求的不断变化和索引过程中的任何问题可能需要重新索引,这是一项资源密集型任务,涉及重新处理整个区块链。根据您的需求,创建一个索引服务每年将花费您从 1700 美元到 43800 美元不等的费用。例如,以下是运行图协议节点所需的硬件要求:

数据索引在 ETL 流水线中起着至关重要的作用,可以实现快速高效的数据访问。通过实施强大的错误处理和数据验证技术,可以最大程度地减少重新索引的需求。此外,对索引数据进行定期监控和维护有助于及早发现和解决潜在问题。

数据量和可扩展性

处理和管理区块链生成的大量数据是区块链 ETL 的主要挑战之一。随着数据量的增加,存储和处理需求也随之增加。

例如,截至 2023 年 6 月,以太坊区块链的大小为 14.5TB,并且每天平均增加 13-14GB的数据。

可扩展性对于确保 ETL 流水线能够处理区块链网络的高吞吐量至关重要。像 Solana 这样的区块链网络,其每秒交易处理速率在 2-4k 之间,与以太坊或比特币在将其集成到 ETL 流水线中时需要采用不同的方法。

一种有效的 ETL 解决方案必须能够随着不断增长的数据量而进行扩展,实现对一个或多个区块链的数据的无缝处理和存储。

区块链网络的持续演进

区块链网络经常进行升级和重组,这对于 ETL 流水线构成了挑战。升级会对共识算法、功能和错误修复等方面进行更改。以下是 Go-Ethereum 客户端发布的示例。正如您所看到的,这些发布频率非常高,因此 ETL 系统必须无缝地适应这些变化,确保准确处理数据。

在区块链中的链重组过程中,之前被认为是正确的区块可能会发生变化。链重组在区块链中经常发生。以下是由于链重组而从以太坊中排除的区块的示例。您可以看到这些重组发生的频率多高。

有时候社区可能会分裂并创建一个链的分叉,比如以太坊和以太经典,或者比特币和比特币现金。例如,正如我们在以太经典 51% 攻击的博客文章中讨论的那样,以太经典经历了一个显著的分叉。这些情况很少见,但根据区块链网络的当前共识更新 ETL 流水线中的数据非常重要,以确保处理数据的准确性。

数据结构和复杂性

处理来自不同区块链的不同数据结构在构建 ETL 流水线时面临着独特的挑战。让我们看一下比特币、Solana 和以太坊中交易的差异。

比特币使用 UTXO 模型,跟踪输入和输出以确定网络中的余额。

在 Solana 中,交易可以包含多个指令,这些指令是程序中的小型执行逻辑单元(在其他区块链上也称为“智能合约”)。

在以太坊的账户模型中,网络跟踪账户,这些账户可以代表个人、组织或智能合约。每个账户都有自己的地址和关联的余额。

这些交易结构的差异使得构建 ETL 流水线变得具有挑战性。将多个区块链集成到一个流水线中增加了复杂性,因为您需要处理各种不同的数据结构。

数据质量挑战

保持高数据质量是区块链 ETL 流水线的关键方面之一。

在处理大量数据时,区块链 ETL 流水线可能会出现缺失或重复的数据。缺失或重复的数据可能由于网络问题或数据源中的间隙等原因而发生。实施强大的数据验证技术和错误处理机制对于将缺失或重复的数据对整体流水线的影响降至最低是至关重要的。

区块链数据可能非常复杂,并且需要仔细解释。数据工程师需要理解区块链网络的复杂性,例如不同的交易类型、智能合约和代币标准。错误解读或误传数据可能导致错误的分析和决策。确保数据工程师对区块链概念和协议有深入的理解对于准确解释数据至关重要。

在区块链领域雇佣熟练的数据工程师可能会很昂贵。对具有区块链技术和 ETL 流程专业知识的经验丰富专业人员的需求往往推高了平均工资水平。

通过实施强大的数据验证技术和去重机制,并投资于熟练的数据工程师,组织可以克服这些挑战,确保他们的区块链 ETL 流水线的可靠性和准确性。

开源ETL软件

在构建区块链 ETL 流水线时,您有两个选择:构建定制解决方案或使用现有的开源工具。定制解决方案需要很多时间,容易出错,并且可能不易扩展。

另一方面,开源 ETL 软件提供预构建的功能和更快的实施速度。找到适用于比特币和以太坊等热门区块链的 ETL 软件非常简单。其中一个针对以太坊网络的热门开源 ETL 软件是ethereum-etl,在下图中可以看到它多年来一直得到维护:

然而,对于某些区块链来说,寻找开源解决方案可能是具有挑战性的,并且可能没有每个开源解决方案的活跃社区支持。对于某些区块链,您会发现它们是开源的,但它们可能没有得到维护以跟上网络中的变化。以下是 Solana、EOS 和 Tezos 的开源解决方案。

对于其他链,比如 Algorand、Flow、Harmony 等,并没有提供开源的替代方案。

公开可用的区块链数据集

有一些由 Google BigQuery 和 AWS 等平台提供的不同区块链的公共数据集,为 ETL 流水线提供了方便的访问。

然而,值得注意的是,像 Google BigQuery 和 AWS 这样的平台上的公共数据集存在一定的限制。这些数据集可能存在数据延迟和模式约束,并且仅提供有限数量的区块链网络的数据。

这些数据集的限制包括区块链产品的数量和更新频率。这些数据集通常每天更新一次,而不是实时更新。因此,如果您的 ETL 流水线完全依赖这些公共数据集,它可能会落后于最新数据高达一天。

虽然这些公共可用的数据集提供了基本的信息,如交易、区块和跟踪,但它们可能无法提供特定用例的全面数据,例如合约调用或去中心化金融(DeFi)交易数据。重要的是要考虑这些限制,并评估是否需要额外的数据源或替代方法来满足您的特定数据需求。

节点依赖

在使用区块链节点消耗区块链数据时,考虑到依赖区块链节点可能存在的问题是很重要的。区块链节点可能面临技术问题、停机时间或提供不一致的数据。

例如,如果一个节点遇到技术问题或下线,它可能导致数据提取延迟和不完整,从而导致数据集中出现间断。

一个强大的 ETL 流水线应该利用多个节点使系统具备冗余性,并最小化依赖单个节点可能引发的问题。

实时数据挑战

实时数据处理对区块链 ETL 带来了重大挑战。由于区块链的持续运作和频繁更新,不同节点可能对当前状态有不同的观点。

在区块链网络中,当多个区块生成时,网络通过共识机制确定哪个区块被视为有效,并将其添加为链中的最新区块。这种共识机制确保网络中的所有参与者对区块链的当前状态达成一致意见,并添加所选的区块以维护一致且准确的交易记录。因此,同一高度的其他区块被丢弃,可能消除了未连接到链中最新区块的多个分支。

由于共识机制的存在,实现明确和一致的状态需要时间。ETL 流程必须有效地适应这些不断变化的网络状态,确保数据同步、一致性和可靠性,尽管可能存在延迟。

Bitquery 如何解决这些问题?

Bitquery 通过提供针对索引化区块链数据的不同解决方案来解决这些问题。如果您正在构建区块链 ETL 流程,Bitquery 的 Streaming APIs 和 Data in Cloud 产品将解决我们上面讨论的大部分挑战。

借助 Bitquery 的 Streaming APIs,您可以访问实时和即时数据,确保您的 ETL 流程具有准确和最新的信息。这些 API 旨在为 Ethereum、BSC 和 Arbitrum 网络提供可靠和及时的数据,并将很快添加更多网络的支持。

Bitquery 的 Data in Cloud 产品非常适合消耗 Ethereum 数据的 ETL流程。它提供了来自Ethereum 主网的全面数据集,包括原始数据和后处理数据。这使得处理和分析变得高效,帮助您构建针对 Ethereum 定制的强大而有效的 ETL 流程。

结论:是否应该构建整个 ETL 流程?

在考虑是自己构建整个 ETL 流程还是将某些部分外包给服务提供商时,需要考虑多个因素。

如果您的 ETL 流程用于非时间敏感目的或仅涉及有限数量的区块链,那么构建自己的解决方案或使用免费可用的数据可能是可行的选择,因为涉及的复杂性较低。

然而,对于时间敏感的 ETL 流程或涉及多个区块链的情况,将某些方面(如数据索引)外包给像 Bitquery 这样的专业服务提供商可能更为实际。这可以利用他们的专业知识和现有基础设施,节省时间并减少与维护整个流程相关的成本。

最终,构建还是购买的决策取决于项目的具体要求,需要平衡复杂性、时间敏感性和相关成本。

评论

所有评论

推荐阅读

  • 中远海运集运回应两艘集装箱船穿越��尔木兹海峡:假消息

    Cointime 报道,3月27日,有报道称,滞留在霍尔木兹海峡西侧波斯湾内的中远海运集运旗下两艘2万TEU(标准箱)型集装箱船“中海印度洋”号和“中海北冰洋”号开始穿越海峡回国。中远海运集运相关负责人表示,上述消息为假消息,不要信。查询船视宝发现,两艘船舶目前还在湾内。(上证报)

  • 代币正在成为新型股票

    回购销毁、收益分红、费用开关、归属解锁计划、优先股转普通股…… Web3 项目正在全面复刻这套金融逻辑,所有结算实时完成,任何人通过区块浏览器均可公开查验。

  • 高盛释放加密市场触底信号,并上调相关股票评级

    Cointime 报道,3月27日,高盛发布一份战术研究报告,指出数字资产长期调整可能已接近底部。首席分析师James Yaro表示,自2025年10月以来,加密相关股票已下跌46%,当前估值对长期投资者而言正变得“愈发具有吸引力”。 高盛此次转变立场,正值比特币经历一段“波动但整体横盘”的行情。2026年第一季度,比特币在6万至7.5万美元区间形成了较强支撑。该行指出,ETF及大型机构投资者的“被动抛售”显著减少,是市场企稳的主要推动因素之一。 尽管美联储立场偏鹰且地缘政治不确定性仍存,高盛认为市场已成功消化2025年“狂热行情”后的影响,目前正进入一个建设性的盘整阶段。这一“筑底逻辑”还得到高盛自身13F持仓数据的支持:截至2025年底,其在比特币和以太坊ETF上的总敞口接近23.6亿美元。 此外,高盛上调Coinbase和Figure Technologies评级至“买入”,重新配置至XRP,机构信心回归。

  • 美国现货以太坊ETF昨日净流出9297万美元

    Cointime 报道,3月27日,据Trader T监测,美国现货以太坊ETF昨日净流出9297万美元。

  • 美国现货比特币ETF昨日净流出1.7144亿美元

    Cointime 报道,3月27日,据Trader T监测,美国现货比特币ETF昨日净流出1.7144亿美元。

  • 美国现货比特币ETF昨日净流出1.7144亿美元

    3月27日,据Trader T监测,美国现货比特币ETF昨日净流出1.7144亿美元。

  • 美联储官员齐声警告:伊朗战争让通胀成了“更大的风险”

    Cointime 报道,3月27日,三位美联储官员周四表达了对中东战争导致美国经济前景的日益担忧,其中一位政策制定者表示,油价飙升已令风险平衡发生转变,目前通胀比就业更令人担忧。 美联储理事丽莎·库克(Lisa Cook)周四在康涅狄格州纽黑文发表演讲后回答提问时表示:“我认为,由于伊朗战争,通胀风险现在更大。就劳动力市场而言,我认为它处于平衡状态,但这种平衡是脆弱的。” 库克没有透露她认为政策制定者应如何应对,不过她的两位同事在周四的发言中表示,他们倾向于在评估战争对通胀和增长的影响之际维持利率不变。 美联储理事迈克尔·巴尔(Michael Barr)在华盛顿的一次活动中表示:“花一些时间来评估状况是合理的。我们目前的政策立场使我们处于一个有利的位置,可以在评估新数据的同时保持稳定。” 美联储理事斯蒂芬·米兰(Stephen Miran)在迈阿密的一次活动中表示,他仍然认为未来12个月潜在通胀率将朝着2%的方向发展。 米兰还表示,美联储有可能将资产负债表规模缩减1-2万亿美元,且不会引发金融市场动荡。但他警告称,需要采取许多配套措施,这一过程可能需要数年时间。“一旦这一过程启动,我建议以缓慢的步伐进行缩减,以确保私营部门能够吸收我们资产负债表上剥离的所有证券。我对这一切能够实现感到兴奋,但如果真的实现或一旦实现,我预计进展将是缓慢的。”

  • BTC跌破71000美元

    Cointime 报道,行情显示,BTC跌破71000美元,现报70969.43美元,24小时涨幅收窄至1.4%,行情波动较大,请做好风险控制。

  • 富兰克林邓普顿联手 Ondo Finance,推出加密钱包专属的 7x24 小时可交易 ETF

    Cointime 报道,3月25日消息,“全球知名资管公司 富兰克林邓普顿(Franklin Templeton) 与 Ondo Finance 宣布合作,正式推出专为 加密钱包 设计的、支持 7x24 小时全天候交易 的 ETF 产品。”

  • 英伟达(NVDA.O)涨幅扩大至3%

    Cointime 报道,行情显示,英伟达(NVDA.O)涨幅扩大至3%。