gpt4 book ai didi

performance - 实时查询亿条记录

转载 作者:IT王子 更新时间:2023-10-29 06:06:24 24 4
gpt4 key购买 nike

我正在从事一个数据驱动的分析软件项目,该项目可以生成有关财务数据(交易)的报告和建议。数据由 17 亿条记录组成,每天新增 20 万条记录。每条记录都用相当小的数据(from_account、to_account、amount、time_stamp 等)描述了一笔交易。

一旦写入,数据就不需要更改(因此本质上它是一个 WORM 范例),但查询会变得相当复杂。一些查询是 AML(反洗钱)逻辑,它寻找帐户之间的关系,例如“掉头”交易:

A->B->C->D->A

我需要运行多个查询来检测此类模式,只要每个帐户都有“正常”交易量,查询时间就非常快。 如果账户 C(在上例中)突然有数百万笔交易并且查询运行 60 秒或更长时间而不是 0.5 秒,就会出现问题。

我倾向于使用 neo4j 来搜索帐户之间的关系 - 但我不确定搜索速度是否足够快。其他解决方案可能在内存数据库中,例如 MemSQL、Redis 或 Aerospike - 我也在研究 HBase/Hadoop 或 CouchDB、MongoDB。

哪个堆栈会提供目前最快的查询结果?

最佳答案

每一类数据库都有其优势,对于 AML 用例,您描述的图形数据库(例如 neo4j)将是正确的选择。?

诸如 couchbase 或 Mongo 之类的文档存储没有什么意义,而诸如 Aerospike 和 Redis 之类的键值存储只有在您感兴趣的恒定路径长度(可以预先计算)的情况下才有意义.当您试图找到从给定节点开始并以该节点结束的所有路径时,无论边数如何,这是不可能的。

关于performance - 实时查询亿条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com