网易首页 > 网易号 > 正文 申请入驻

如何避免 PostgreSQL RDS 的陷阱:一份大数据解决方案的实践指南

0
分享至


【CSDN 编者按】在本文作者将分享为什么最初选择了 Postgres RDS 作为我们的大数据解决方案,以及在使用过程中遇到的一些问题和挑战。文章还将分析 Postgres RDS 的优点和缺点,以及它与其他数据库产品的比较。最后,总结最终放弃 Postgres RDS 的原因,以及转向新的技术栈和架构。如果你也在考虑使用 Postgres RDS 作为你的大数据解决方案,那么这篇文章可能会对你有所帮助。

链接:https://medium.com/@mkremer_75412/why-postgres-rds-didnt-work-for-us-and-why-it-won-t-work-for-you-if-you-re-implementing-a-big-6c4fff5a8644

作 者 | Max K remer

译者 | 明明如月 责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

我们的初创公司主要业务是通过统计归因模型评估营销成效,这需要收集大量的在线用户行为数据,包括每次点击、每次字段输入和每项操作。这些数据存储在 PostgreSQL 数据库中,用户通过我们的界面运行仪表板和报告,这些数据量很大,给我带来很多技术挑战。我们开发的是一款多租户的 SaaS 应用,能够实现数据的按租户隔离,支持数百个租户的数据摄取和存储,这就要求系统具备良好的可扩展性和高性能。起初,我们选择了 AWS RDS 托管的 PostgreSQL 作为解决方案。



主要问题:EBS 的吞吐量难以衡量

在 EBS 上,准确衡量吞吐量几乎是不可能的。AWS 提供的是延迟和 IOPS 指标,但这些都不足以衡量吞吐量。例如,当你需要扫描一个大型时间序列表(如 2000 万行,大小约 10GB)时,无论出于何种原因,你都需要一个准确的吞吐量指标来判断扫描整个表所需的时间。


IOPS 的爆发和限制——滑坡效应

如前所述,类似的查询很快会耗尽 IO 信用。面对需要更多 IOPS 的情况,一个直接的解决方案是增加存储容量,以便将基线 IOPS 从3000提高到 10000。然而,这会导致备份成本增加,因为你需要为整个卷支付费用,而不仅仅是已使用的部分。这样一来,成本增加了,但性能提升却有限,从而引发了成本和性能的雪球效应。

此外,我们还尝试增加实例大小,以便获得更多的缓存内存。如果能将所有数据都载入内存,理论上可以让数据库运行得更快。虽然 PostgreSQL v10 带来的更大并行化功能充满诱惑,但遗憾的是,由于 IO 的限制,我们实际收益不大。

关于测量吞吐量问题的更多细节,可以参见下面的链接:https://www.datadoghq.com/blog/aws-ebs-latency-and-iops-the-surprising-truth/


Aurora 迁移

因此,我们决定迁移到 Aurora,它相比于传统 PostgreSQL,承诺提供 5 至 7 倍的性能提升,这一点对我们有非常强的吸引力。这些性能提升指标基于 pgbench 测试结果,在测试 PostgreSQL 性能时确实有效。如果你运营一个 OLTP 系统,并期望在有大量并行客户端的情况下测量事务速度(或延迟),pgbench 是一个很好的工具。但对于那些处理大数据集和进行数据挖掘操作的场景,pgbench 并不是一个理想的性能评估指标。这会带来是成本的上升。
关于 IOPS 和计费 IOPS 的讨论详见:https://forums.aws.amazon.com/message.jspa?messageID=835303#835303。

我们面临的最大挑战仍然是无法准确测量吞吐量。简单地通过计算扫描数据量与所需时间的比率(使用 track_io_timing)来进行评估时,我们意识到在处理大数据集时的性能远不如预期的 SSD 速度,实际上更接近于传统硬盘的速度。

更令人挫败的是,我们不得不花费大量时间来处理技术支持问题。尽管支持团队非常专业且乐于助人,问题的解决最终总是归结于调整查询或修改数据库配置。我真心希望能直接得到“考虑到你的工作负载,这项服务可能不适合你”的直接建议,但最终我们还是自己找到了解决方案。


解决方案:搭建自有基础设施

对我们而言,解决方案非常明确:放弃使用托管数据库服务,转而在 EC2 上自行搭建基础设施。

我们通过选择等级较低的 EC2 实例来实现这一点,之前我们在 RDS 上使用的是 4XL 规格的实例,现在主要使用 xl 和 2xl 规格。

关键策略是利用 WAL-G(https://github.com/wal-g/wal-g)来分离主节点上的读写工作负载和实时更新的备份副本。

写入节点的速度可以稍慢,因为其主要任务是数据摄取,而 EBS 的性能对此已经足够。但我们通过使用 ZFS 对 EBS 进行压缩,实现了双倍的吞吐量。

对于读取节点,我们采用了配备临时 NVMe 驱动器的配置,并通过 ZFS 进一步提升了性能。

其结果显而易见:

  • 费用从 $11,000 降至 $2,100(这是我们完全摆脱 RDS 依赖后第一个月的预估)。

  • 原本需要数小时甚至无法完成的查询,现在只需几秒钟。

  • 我们可以使用 Unix 实例上的命令行工具(例如 zpool iostat)来准确测量吞吐量。


结论

虽然只需要单击按钮就可以启动一个实例,不必担心备份和恢复的便利性很诱人,但无论是从金钱还是性能的角度来看,这种便利是有代价的。如果你追求处理 TB 级或 GB 级数据的速度,那么使用裸机服务器是最佳选择,若不可行,则选择配备 NVMe 驱动器的 EC2 实例是第二选择。

本文引发广大网友的热议,下面是几个非常有代表性的观点:

  • 作者的经验是有价值的,但不一定适用于所有的场景和需求。Postgres RDS 可能对于一些 OLTP 系统或者小型数据集合是一个合适的选择,但对于大规模的数据分析或者数据挖掘任务,可能需要更高效的解决方案。

  • 作者没有充分利用 Postgres 的一些特性和优化方法,比如索引,分区,物化视图,压缩,异步提交等。这些技术可以提高 Postgres 的性能和可扩展性,减少 IO 压力和成本。

  • 作者没有考虑使用其他的数据库或者数据仓库,比如 Redshift,Snowflake,BigQuery,ClickHouse 等。这些产品都是专门为大数据分析而设计的,提供了更快的查询速度,更低的存储成本,更灵活的扩展能力。

  • 作者的迁移过程是有风险的,可能导致数据丢失,不一致,或者不可用。在迁移之前,应该做好充分的测试,备份,和监控,以确保数据的完整性和安全性。

你是否有更多不同的看法,欢迎在评论区留言讨论。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
神十七着陆时间曝光!航天员返程之路惊心动魄,携能量餐过黑障区

神十七着陆时间曝光!航天员返程之路惊心动魄,携能量餐过黑障区

侑口皆碑i
2024-04-30 11:36:48
哈姆下课!湖人做法登全美热搜,珍妮巴斯为了挽留詹姆斯豁出去了

哈姆下课!湖人做法登全美热搜,珍妮巴斯为了挽留詹姆斯豁出去了

张敏
2024-04-30 11:06:48
湖人出局众生相!詹皇一脸严肃,浓眉拥抱穆雷,哈姆:健康最重要

湖人出局众生相!詹皇一脸严肃,浓眉拥抱穆雷,哈姆:健康最重要

李喜林篮球绝杀
2024-04-30 13:35:00
万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

鹏飞深文
2024-04-22 12:19:28
成都业主求政府稳住房价:228万买的房子如今跌到160万,已没了生活的动力

成都业主求政府稳住房价:228万买的房子如今跌到160万,已没了生活的动力

可达鸭面面观
2024-04-29 15:34:20
拒绝美军进驻后,蒙古为解放军打开国门,不给美国留任何机会

拒绝美军进驻后,蒙古为解放军打开国门,不给美国留任何机会

乐阳聊军事
2024-04-29 14:39:32
甘肃一场暴雨冲出大量金银,引来当地村民疯抢,专家:十分罕见!

甘肃一场暴雨冲出大量金银,引来当地村民疯抢,专家:十分罕见!

此夜无梦
2024-04-29 23:00:35
曝伊万圈定4人增援国足:前10号回归!34岁老将+申花红星首次入选

曝伊万圈定4人增援国足:前10号回归!34岁老将+申花红星首次入选

我爱英超
2024-04-30 09:19:28
季后赛出局,30岁王哲林摊牌发声,官宣决定,去向曝光,上海遗憾

季后赛出局,30岁王哲林摊牌发声,官宣决定,去向曝光,上海遗憾

东球弟
2024-04-30 09:59:09
不打了!确定退出辽粤大战!广东“真核”被曝无缘半决赛……

不打了!确定退出辽粤大战!广东“真核”被曝无缘半决赛……

绯雨儿
2024-04-30 13:05:26
没有驾照的周鸿祎坐在车顶上

没有驾照的周鸿祎坐在车顶上

中国新闻周刊
2024-04-29 20:16:48
2024最差危机公关?为“保护”华为问界M7和博世上演智驾罗生门?

2024最差危机公关?为“保护”华为问界M7和博世上演智驾罗生门?

摩根商研所
2024-04-30 00:56:46
上海母亲被亲生女儿砌入水泥墩,生前跪地求饶:求求你放过我

上海母亲被亲生女儿砌入水泥墩,生前跪地求饶:求求你放过我

一个人讲故事
2024-04-16 20:33:19
崔永元喊话罗永浩卖骗子产品?交个朋友直播间刚回应

崔永元喊话罗永浩卖骗子产品?交个朋友直播间刚回应

i黑马
2024-04-30 12:25:35
北京车展的深刻反思:谁在毒害中国汽车?

北京车展的深刻反思:谁在毒害中国汽车?

TMC动力
2024-04-29 07:08:38
张馨予的腿在娱乐圈能排上号吧,又长又细又匀称,何捷好福气啊

张馨予的腿在娱乐圈能排上号吧,又长又细又匀称,何捷好福气啊

娱乐圈酸柠檬
2024-04-29 14:29:32
没想到吧2019届乐透秀中仅状元还没打过季后赛 场次最多是他

没想到吧2019届乐透秀中仅状元还没打过季后赛 场次最多是他

直播吧
2024-04-30 17:16:17
驻港高官:贪腐卖国阻止回归,被调查时携女人叛逃美国,结局如何

驻港高官:贪腐卖国阻止回归,被调查时携女人叛逃美国,结局如何

阿胡
2024-04-28 11:34:37
詹皇未来计划曝光:暂不退役再打两三年 会跳出合同但不离开湖人

詹皇未来计划曝光:暂不退役再打两三年 会跳出合同但不离开湖人

罗说NBA
2024-04-30 06:08:00
网红东东遗体告别:前妻和儿子手捧骨灰盒,哭红双眼满脸悲伤

网红东东遗体告别:前妻和儿子手捧骨灰盒,哭红双眼满脸悲伤

180°视角
2024-04-30 12:38:47
2024-04-30 17:30:44
CSDN
CSDN
成就一亿技术人
24612文章数 241796关注度
往期回顾 全部

科技要闻

特斯拉和百度独家深度定制车道级高辅地图

头条要闻

媒体:中国元首将出访 武契奇曾表示期待中国元首到访

头条要闻

媒体:中国元首将出访 武契奇曾表示期待中国元首到访

体育要闻

哈姆关键挑战又成败笔 詹姆斯黑脸离场

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

查道炯:中国经济的外部挑战与应对思考

汽车要闻

越野老炮最爱 哈弗新H9新增2.4T柴油机

态度原创

教育
数码
时尚
健康
军事航空

教育要闻

于吉红任北京师范大学校长

数码要闻

LG 45GS95QE 带鱼屏显示器上架:44.5 英寸 OLED 240Hz,9999 元

新一代街拍女王,又是一个星二代!

春天野菜不知不识莫乱吃

军事要闻

以官员:以总理求助拜登阻止逮捕令

无障碍浏览 进入关怀版