将Azure Blob存储用于postgresql数据库

将Azure Blob存储用于postgresql数据库,postgresql,azure,azure-storage,azure-storage-blobs,Postgresql,Azure,Azure Storage,Azure Storage Blobs,Azure blob存储的最大限制为500TB。这就足够了,因为我已经或将拥有大量数据 我想在Azure中安装一台安装了PostGres的服务器,但我不想使用本地SSD/HDD,因为大小有限。。。如果需要的话,我可以调整磁盘大小的唯一方法是关闭虚拟机并向PowerShell中输入一些神秘代码 可以告诉Postgres使用Azure blob存储吗? 如果是,我该怎么做? 如果没有,我有什么选择?如果我需要更多的空间,我如何在不进行任何干预的情况下扩展我的HDD/SDD?您不能通过Postgres

Azure blob存储的最大限制为500TB。这就足够了,因为我已经或将拥有大量数据

我想在Azure中安装一台安装了PostGres的服务器,但我不想使用本地SSD/HDD,因为大小有限。。。如果需要的话,我可以调整磁盘大小的唯一方法是关闭虚拟机并向PowerShell中输入一些神秘代码

可以告诉Postgres使用Azure blob存储吗? 如果是,我该怎么做?
如果没有,我有什么选择?如果我需要更多的空间,我如何在不进行任何干预的情况下扩展我的HDD/SDD?

您不能通过Postgres直接从blob存储读取/写入,因为它需要具有正常文件I/O操作的正常文件系统。要做到这一点,需要对Postgres存储系统进行修改才能完成这一任务

从普通操作系统文件系统的角度来看,最大存储占用空间将受到连接到vm的页面blob中的磁盘数量的限制。每个核心最多2个磁盘,每个磁盘最多4TB。从2017年5月起,较大的磁盘尺寸是新的。这为您提供了从8TB单核到128TB 32核的范围。除非Postgres支持JBOD模型,否则您可能需要对这些磁盘进行RAID


正如@Gaurav所建议的,您也可以使用Postgres-As-a-Service。目前,在预览中,该服务对每个数据库的限制为1TB。更大尺寸的最终将可用。

您是否考虑过Azure Postgres SQL作为服务选项?它是最近宣布的-。从对象存储(如S3或Azure Blob)运行RDBMS之类的东西是完全不现实的。如果你能克服文件系统的语义问题,并且祝你好运,使它安全崩溃,那么它的运行速度会很慢。虚拟机上的磁盘实际上是以BLOB形式存储的虚拟磁盘,具有保证的IO和延迟。这就是为什么它们比普通blob存储更昂贵的原因。当需要时,PostgreSQL不关心磁盘如何按FWIW排列时,它们可以增加大小。只要您提供一个具有合理POSIX语义且尊重fsync的文件系统,它就会很高兴。底层存储可以是软件RAID、硬件RAID、独立磁盘、JBOD扩展、SAN、地狱,甚至NFS。@CraigRinger-感谢澄清-很高兴知道。尽管如此,您仍然需要将存储连接到磁盘,postgres将无法通过blob存储REST API直接交互,因为它从来没有设计过这样做。因此,您可以像在Windows或Linux中一样格式化/装载/访问它们。@CraigRinger blob存储在所有提供程序中,甚至没有文件系统。连接到虚拟机的磁盘本质上是以blob形式存储的虚拟磁盘,需要特别小心,以确保数据复制和您购买的吞吐量、IO特性