如果在高负载场景中部署带有hdfs的postgresql作为文件系统会发生什么?

d4so4syb  于 2021-07-15  发布在  Hadoop
关注(0)|答案(1)|浏览(427)

这是一个故意提出的愚蠢问题。但我只是好奇——如果我使用fuse binding作为一个卷来装载hdfs,并使用存储在这个hdfs卷上的集群启动postgresql,然后开始写入大量数据和/或进行高强度读取,会发生什么?

kzipqqlq

kzipqqlq1#

首先,我不认为这是一个愚蠢的问题,尽管如此,让我们使用一些定义,我们可以从这一点继续:
保险丝:
fuse是一个用户空间文件系统框架。它由内核模块、用户空间库和装载实用程序(fusermount)组成。
hdfs(hadoop分布式文件系统):
分布在许多联网的计算机或节点之间的一种文件系统。hdfs是容错的,因为它在文件系统上存储文件的多个副本,默认的复制级别是3。
因此,我认为您的问题@gill bates的简短版本是:hdfs是否影响postgres db的性能(当然,假设postgres集群存储在 HDFS )?
简单的回答是,取决于您的配置,但很可能是的,如上所述,您可以想到 HDFS 作为一个文件系统,当然,postgres将数据存储在文件系统中,因此它将受到您正在使用的文件系统的影响,假设您执行多个操作 read/write ,将分布式文件系统作为 HDFS 它支持文件的多个副本,这大大减少了许多客户端访问单个文件的常见瓶颈,从而有助于更好地扩展。
所以直接回答你的问题:如果我开始写大量数据和/或进行高强度阅读,会发生什么?
不管你的文件系统是什么 HDFS (这可能有助于您更好地扩展,同时为文件系统添加容错性)不管是否,可以直接决定/影响db在压力测试下响应的参数是:
索引
分区
检查点
真空,分析(带填充因子)
查询定义
当然,这也取决于你的堆栈(你的服务器/主机有多好),根据我的经验,这些事实可能会对你的postgres数据库产生更大的影响(附在下面的一些链接可能有助于澄清更多?)。
数据库性能和文件系统
tunning a postgres数据库
希望以上有助于澄清?

相关问题