因此,我一直在用密码构建一个分析工具,它需要在几个表中摄取数十亿行数据。销售,列表,NFT,元数据,合同信息等等。我把这些数据和机器学习到它上,每小时输出相当多的数据到另一个表中。这些数据是极其相关的,最终的结果是试图基于包含多个联接的复杂查询输出大量数据(考虑一下,在过去3天中销售额最高的500个项目中,每一项资产都被拿走,加入它们的元数据属性,将这些属性加入到它们最近的mle结果中,然后以20种不同的方式分割这些数据)。
我目前有一个8 vCPU Postgresql,内存为32 GB,其上有5-6个物化视图,它以75%+平均CPU使用率运行,需要10-15 mins+来更新某些视图,所以任何查询这些视图的操作都需要很长时间才能响应。我研究了多维数据集、时间刻度、红移等等。基于流的dbs似乎很难设置高度相关的历史数据,而且关系数据库还没有增量更新物化视图的概念。
我该怎么办?我愿意支付高达1000美元/mo来以可伸缩的方式解决这个问题(可能有100亿到1000亿行跨几个表,这些表可以从不支持读和写的视图中查询),希望我很快就能增加这个数字,但目前我还没有从这方面获得任何收入来承担所有的成本。
发布于 2022-11-24 16:48:51
我会仔细看红班的。它是专栏式的,专为大型分析查询而设计。它的SQL是基于postgres的,因此端口工作是可以管理的。当前解决方案的某些方面可能不适合Redshift,但它应该能够达到您所述的成本和分析性能目标。
发布于 2022-11-24 10:12:47
不幸的是,PostGresql没有技术ans功能来帮助您对问题具有良好的性能。
但是这些技术和功能存在于其他一些关系型数据库管理系统中,如Microsoft (自动并行化“重”查询、ColumStore索引、内存表、本机过程、索引视图、压缩、批处理模式、BI的SSAS引擎)。
当然,您需要为所有这些东西支付许可证,但您将不得不支付更多的钱,以拥有一个超级计算机的PostGreSQL,而没有相同的性能。
例如,我对一些非常简单的查询进行了一些性能测试,这些查询证明了PostGreSQL在Server面前的速度有多慢:
PostGreSQL与Microsoft的比较第2部分:计数性能本文证明了PostGreSQL平均比Server慢90倍,在最坏的情况下(有列存储索引)则慢1500倍.
PostGreSQL与Microsoft的比较第1部分: DBA命令性能本文证明了在基本的DBA操作中,PostGreSQL大约是20次播撒器。
问您为什么StackOverflow在Microsoft上运行而不是在PostGreSQL上运行?
https://stackoverflow.com/questions/74557802
复制相似问题