首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实时复杂查询的最佳解决方案

实时复杂查询的最佳解决方案
EN

Stack Overflow用户
提问于 2022-11-24 08:36:10
回答 2查看 34关注 0票数 0

因此,我一直在用密码构建一个分析工具,它需要在几个表中摄取数十亿行数据。销售,列表,NFT,元数据,合同信息等等。我把这些数据和机器学习到它上,每小时输出相当多的数据到另一个表中。这些数据是极其相关的,最终的结果是试图基于包含多个联接的复杂查询输出大量数据(考虑一下,在过去3天中销售额最高的500个项目中,每一项资产都被拿走,加入它们的元数据属性,将这些属性加入到它们最近的mle结果中,然后以20种不同的方式分割这些数据)。

我目前有一个8 vCPU Postgresql,内存为32 GB,其上有5-6个物化视图,它以75%+平均CPU使用率运行,需要10-15 mins+来更新某些视图,所以任何查询这些视图的操作都需要很长时间才能响应。我研究了多维数据集、时间刻度、红移等等。基于流的dbs似乎很难设置高度相关的历史数据,而且关系数据库还没有增量更新物化视图的概念。

我该怎么办?我愿意支付高达1000美元/mo来以可伸缩的方式解决这个问题(可能有100亿到1000亿行跨几个表,这些表可以从不支持读和写的视图中查询),希望我很快就能增加这个数字,但目前我还没有从这方面获得任何收入来承担所有的成本。

EN

回答 2

Stack Overflow用户

发布于 2022-11-24 16:48:51

我会仔细看红班的。它是专栏式的,专为大型分析查询而设计。它的SQL是基于postgres的,因此端口工作是可以管理的。当前解决方案的某些方面可能不适合Redshift,但它应该能够达到您所述的成本和分析性能目标。

票数 0
EN

Stack Overflow用户

发布于 2022-11-24 10:12:47

不幸的是,PostGresql没有技术ans功能来帮助您对问题具有良好的性能。

  • PostGreSQL没有“内存中”表(通过没有对数据磁盘或事务日志的访问来减少争用)。
  • PostGreSQL没有本机C编译的存储过程(加速复杂逻辑的执行)
  • PostGreSQL没有“列”索引(减少索引大小并访问大表)。
  • PostGreSQL非常局限于并行化查询(只有4个操作支持多线程,您必须手动.)
  • PostGreSQL没有用于表或索引的数据压缩(这可以减少访问时间,而无需解压缩对数据的访问)
  • PostGreSQL没有索引视图(它总是与源数据同步,不需要任何刷新)
  • PostGreSQL没有一个“批处理”处理模式,可以通过“块”全局访问数据,而不是将行放入索引中。
  • 最后,PostGreSQL没有一个用于分析的专用数据引擎,它可以自动处理BI的多维数据集。

但是这些技术和功能存在于其他一些关系型数据库管理系统中,如Microsoft (自动并行化“重”查询、ColumStore索引、内存表、本机过程、索引视图、压缩、批处理模式、BI的SSAS引擎)。

当然,您需要为所有这些东西支付许可证,但您将不得不支付更多的钱,以拥有一个超级计算机的PostGreSQL,而没有相同的性能。

例如,我对一些非常简单的查询进行了一些性能测试,这些查询证明了PostGreSQL在Server面前的速度有多慢:

PostGreSQL与Microsoft的比较第2部分:计数性能本文证明了PostGreSQL平均比Server慢90倍,在最坏的情况下(有列存储索引)则慢1500倍.

PostGreSQL与Microsoft的比较第1部分: DBA命令性能本文证明了在基本的DBA操作中,PostGreSQL大约是20次播撒器。

问您为什么StackOverflow在Microsoft上运行而不是在PostGreSQL上运行?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74557802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档