由于我们是数据仓库团队,因此我们每天都要处理数百万条记录。我们每天都有工作在运行,并通过ETL加载从oracle DB加载到SQL Server Flex克隆上。由于我们要处理大量的数据和复杂的查询,因此查询运行时间会更长,并且需要花费数小时。因此,我们正在考虑使用AWS。我们想在EC2上设置我们自己的许可Microsoft SQL服务器。但是我想知道,这将如何改善长时间运行的查询的性能。相同查询在我们自己的服务器上花费更长的时间并在AWS上更快地执行的主要原因是什么。还是我误解了这个概念?(只是让您知道我处于学习阶段)
PS:我们仍处于研发阶段。对于长期运行的查询,对于AWS的任何想法或意见都将不胜感激。
答案 0 :(得分:0)
您需要提供有关问题的更多详细信息。 您的查询是什么? 桌子多大? 什么是瓶颈?中央处理器 ? IO?内存 ? AWS只是基础架构。 它的确使您的生活更加轻松,因为您可以通过单击按钮来放大或缩小计算机。
好吧,我想您可以将计算机提升到您想要的大小,但是即使如此,也无法解决错误的查询和不良的体系结构。
请记住,EC2附带两种类型的磁盘。 EBS和临时。 EBS是SAN。临时连接到其自身的EC2实例。 到目前为止,Ephemeral当然会快得多,但是缺点是,当您关闭EC2并再次启动它时,该驱动器中的所有数据都会被清除干净。
关于许可(Windows和SQL Server),它已被预烘焙到EC2实例的预烘焙AMI(Amazon Machine Image)中。 我从未在EC2中使用自己的许可证。
答案 1 :(得分:0)
对于相同的数据库,相同的硬件配置,查询将在AWS或prim上执行类似的操作。您需要检查是否以最佳方式配置了数据库/索引等。另外,考虑将数据复制到其他数据库中,该数据库针对查询大量数据进行了优化。