gpt4 book ai didi

postgresql - Amazon RDS 实例类型 (PostgreSQL) 之间的实际差异

转载 作者:行者123 更新时间:2023-12-04 04:02:21 25 4
gpt4 key购买 nike

我对设置 PostgreSQL 数据库和 AWS 比较陌生。
我想弄清楚 Amazon RDS Instance Types 之间的实际差异是什么.关于我的组织和用例的一些背景:

  • 我们主要是一个由数据分析师/数据科学家组成的小团队(少于 5 个用户)
  • 我们不需要 100% 的正常运行时间。我可能会在正常工作时间打开数据库,然后关闭。我们的用例主要用于分析/数据科学目的,不会在其上运行实时应用程序。
  • 我们现在需要 1 个数据库。
  • 该数据库将包含大约 300 - 500 GB 的数据。大多数表都很小(小于 1 GB)。但是,有几张 table 非常大。最大的表大约有80GB,会被频繁查询。还有一些其他的表大约 10 GB。

  • 我现在开始使用免费套餐 db.t2.micro只是为了获得一些经验,开发和测试我需要的东西。但是,我很难理解这与其他情况相比如何。我们的团队现在也非常注重预算,所以我试图在提倡升级之前先确定范围。
    我正在尝试执行的示例操作
  • 从 CSV 加载表:我们有很多 CSV 位于磁盘上,我将加载到 PostgreSQL 数据库中。我现在刚刚测试了一个,创建一个表,然后将 CSV 加载到 11 GB 文件(35,401,551 行和 40 列)的表中(使用 \copy )大约需要 27 分钟。升级实例会有帮助吗?如果是这样,我不确定我想升级到什么?
  • A select count(*)从那个表开始大约需要 15 分钟(在第一次运行中;在第二次运行中大约需要 3 分钟,可能是因为它正在缓存统计信息?3 分钟对我来说仍然很慢。)。同样,不确定升级实例是否有帮助?我还应该注意,我没有添加主键或索引。那么可能有其他方法可以在不升级实例的情况下优化性能吗?例如,分区可能会有所帮助:https://www.postgresql.org/docs/10/ddl-partitioning.html .该表有一个 state列通常是用户使用的第一个过滤器之一,因为用户通常只想查看一个或一组特定状态。
  • 一个简单的分组查询:select ColA, count(*) group by ColA用了大约 2.5 分钟


  • 编辑
    只是注意到我发现的其他一些有用的资源:
  • https://www.apptio.com/blog/ec2-m5-vs-t3/在 m5 与 t3 之间进行选择
  • 最佳答案

    主要与 RDS 中的实例类型的主要区别如下:

  • 可用内存
  • 可用 CPU
  • 最大网络吞吐量
  • 突发与非突发(T 实例系列使用可突发积分,一旦耗尽,您的 CPU 就会受到限制)。

  • 当您使用 T2.micro您只有一个 CPU 可用。一旦积分用完,您的 CPU 上限也将只达到 20%,这将限制您的能力。
    我还要指出,如果您能够在 AWS 平台上进行更多投资,还有一个专门的数据仓库分析解决方案,它是 Redshift ,这可能会表现得更好,但会花费更多,它也是从 Postgres fork 出来的。
    如果您希望在 RDS 中坚持使用 Postgres,您还应该考虑 Aurora Postgres ,它一般提供 RDS 上常规 Postgres 的 2-3 倍的性能。

    关于postgresql - Amazon RDS 实例类型 (PostgreSQL) 之间的实际差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62901196/

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