博客 / 用户故事

QuickCheck 如何使用 ClickHouse 为无银行账户人群提供银行服务

author avatar
Luis Rodrigues
2022年5月24日 - 4 分钟阅读

在这篇博文中,我们听取了 Luis Rodrigues 的观点,他是 QuickCheck 的联合创始人兼首席技术官,QuickCheck 是一家快速增长的金融科技初创公司,总部位于尼日利亚拉各斯。

在尼日利亚,超过 6000 万尼日利亚成年人被排除在银行服务之外,1 亿人无法获得信贷。QuickCheck 的使命是为服务不足的消费者提供金融服务,利用人工智能提供基于应用程序的新型银行产品。

QuickCheck 移动应用程序已被超过 200 万人下载,并处理了超过 450 万份小额信贷申请。150 多人的团队分布在尼日利亚和葡萄牙。

ClickHouse 的多种使用案例

QuickCheck 在 2 年前开始使用 ClickHouse,用于多种使用案例,包括财务数据分析、欺诈分析和监控数据。目前,公司内部有 50 多人使用由 ClickHouse 驱动的仪表板来完成日常任务。

QuickCheck 应用程序使用每日快照分析客户贷款数据的完整历史记录。每天有数十万行数据加载到 ClickHouse 中。在此数据之上,我们执行投资组合风险分析,并构建投资组合分析所需的财务指标。

quickcheck1.png

quickcheck2.png

ClickHouse 也用于我们的运营仪表板。我们将来自不同服务的数据聚合到 ClickHouse 中,并使用 Metabase 作为仪表板。

QuickCheck_UI.webp

我们的欺诈团队使用 ClickHouse 来收集数据,用于他们的评分模型。我们从客户的手机和其他更传统的来源收集数万个数据点。ClickHouse 用作处理所有这些短信并提取用于评分和欺诈模型的有价值信息的一种方式。

我喜欢 ClickHouse,因为管理它的团队说它只是运行,神奇地太棒了

ClickHouse 架构

quickcheck3.png

上图显示了 QuickCheck 当前的 ClickHouse 架构。数据在 Postgres 中,并通过 Python 复制到 ClickHouse 中。Metabase 在上面用于 UI。每个人都用 SQL 编写查询。有些人使用机器学习模型进行数据科学和欺诈检测。他们直接与 SQLAlchemy 连接。

同样重要的是要提到,ClickHouse 是一个面向列的数据库,它不支持事务,并且更新/删除非常慢。所有事务数据都应保存在 Postgres(或其他 OLTP 数据库)中,而 ClickHouse 应用于其最擅长的方面:OLAP 查询。但是,我们对 事务支持 实验感到兴奋,该实验已在 22.4 中发布,并期待进行实验。

ClickHouse 中的即时与 Postgres 中的永远

对我而言,ClickHouse 最重要的是它所具有的卓越性能。您编写一个跨越数十万行的聚合查询,结果就在那里,如果您想在其上绘制仪表板,那是即时的。这基本上是我们开始使用它的原因,为了仪表板。

我们意识到我们在 Postgres 中有太多数据,处理起来需要永远,因此我们开始将其移动到 ClickHouse。在 ClickHouse 中是即时的,而在 Postgres 中是永远的。

如果我尝试对去年进行财务分析,这在 Postgres 中是不可能的,数据库将超时,永远不会完成。发生这种情况是因为我们有数亿行数据,存储自贷款批准以来每天每笔贷款的状态和属性。在 ClickHouse 中,这只需要不到 5 秒。

ClickHouse 功能

我们目前使用的 ClickHouse 的主要功能是

  • 跨越数亿行的聚合函数(AVG、SUM 等)以创建仪表板
  • 窗口函数和统计函数
  • 列压缩以节省磁盘空间使用量

给其他 ClickHouse 用户的建议

我给其他考虑使用 ClickHouse 的人的建议是尝试一下。如果您的查询速度非常慢,您应该在 ClickHouse 中进行测试。我们对性能和一切都非常满意。

访问 https://quickcheck.ng/ 了解更多信息。

分享这篇文章

订阅我们的新闻通讯

随时了解功能发布、产品路线图、支持和云服务!
正在加载表单...
关注我们
X imageSlack imageGitHub image
Telegram imageMeetup imageRss image
©2025ClickHouse, Inc. 总部位于加利福尼亚州湾区和荷兰阿姆斯特丹。