Databend 怎么使用 GPT-4 进行质量保证

背景

在数据库职业,质量是中心要素。

Databend 的运用场景广泛,特别是在金融相关领域,其查询成果的准确性对用户至关重要。因此,在快速迭代的过程中,怎么保证产品质量,成为咱们面对的重大应战。

随着 Databend 开源社区的快速发展,新功用的持续添加和现有功用的优化提出了新的测验应战。咱们致力于在每次代码更新中施行严厉的测验,保证稳定性并防止任何潜在问题。

Databend的测验办法

为了保证软件的稳定性和可靠性,Databend 的测验办法掩盖从代码级到系统级的各个方面。

Unit Tests

单元测验作为测验的柱石,着重验证代码的基本功用和逻辑。咱们在每次代码提交前自动运转单元测验,保证及时捕捉任何潜在问题。

SQL Logic Tests

Databend 引进了很多的 DuckDB、CockroachDB 和 PostgreSQL 的 SQL 逻辑测验(感谢他们)。这些测验掩盖了广泛的 SQL 场景,协助咱们发现并修正潜在问题,保证 SQL 查询的精确性。

Compatible Tests

兼容性测验保证新版别与旧版别的向后兼容,协助用户平稳过渡到 Databend 的更新版别,保证事务的连续性和稳定性。

Perf Tests

Databend 运用 ClickBench hits 数据集和 TPCH-SF100 作为功能指标,经过这些测验来保证每个版别的功能都契合预期。

Longrun Tests

Longrun 测验专心于数据写入、更新和兼并等操作的长时间效果,经过监测 CPU 和内存的稳定性,保证 Databend 的长时间运转稳定性和可靠性。

除 Longrun Tests 外,这些测验在每个 GitHub Pull Request 提交时都会履行,以保证任何更改都契合咱们的质量标准。

Databend 怎么使用 GPT-4 进行质量保证

凭借GPT-4生成测验模型

尽管已经采用了多种测验办法,Databend 团队始终在寻求创新。近期,咱们引进了 GPT-4 来进一步提升测验流程。

双缝勘探模型

针对触及中心途径的修正,咱们采用双缝勘探模型进行验证。这种办法经过比较当前 PR 版别与主分支(main)版别的成果集来进行验证。假如两者成果一致,则可视为无大碍。但这些验证的 SQL 句子的质量至关重要,这正是咱们使用 GPT-4 生成的部分。首先,咱们指导 GPT-4 依据需求推理出随机数据生成办法,如setup.sql 所示。然后,基于这些数据,GPT-4 进一步生成用于校验的 SQL 句子,例如 check.sql。这些验证 SQL 句子能够依据不同场景进行调整。接下来,咱们在这两个版别的 Databend 上运转这些 SQL 句子,以验证成果集的一致性。

成果集正确性模型

为了保证 Databend 的成果集的正确性,咱们挑选了 Snowflake 作为参阅。这一办法包含三个步骤:

  • setup.sql: 在 Databend 和 Snowflake 上别离构建表并导入随机数据集。
  • action.sql:在 Databend 和 Snowflake 上别离履行数据变更操作,如 Replace/Merge 等。
  • check.sql: 在 Databend 和 Snowflake 上别离履行并验证成果。

这些 SQL 句子都是由 GPT-4 依据 setup.sql 的数据形式生成的,更加复杂和随机,以便更有效地勘探潜在的问题。

总结

Databend 团队经过引进 GPT-4,为测验流程带来了明显的进步。咱们已在 Databend Wizard 项目中发布了更多测验集:

github.com/datafuselab…

凭借这些 GPT-4 生成的测验模型,Databend 的质量和稳定性又前进了一大步,科技是第一生产力。

Databend 怎么使用 GPT-4 进行质量保证

References

[1]datafuselabs/wizard
[2]Databend
[3]Snowflake

关于Databend

Databend 是一款开源、弹性、低成本,基于目标存储也能够做实时剖析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

‍‍Databend Cloud:databend.cn

Databend 文档:databend.rs/

Wechat:Databend

✨GitHub:github.com/datafuselab…