对PostgreSQL来说是个新手,我以前从未使用它进行过大规模部署。但是,我在企业解决方案方面有丰富的经验,我想尝试应用一些我在PostgreSQL中学到的知识。
我有一个可以处理大量数据和流量的站点。该基础设施将使用EC2实例和EBS卷在亚马逊(AWS)上构建。
该设计应具有两个数据库,一个主要的事务数据库和一个处理分析和报告的数据仓库。
主要交易数据库
将用于实时网站,该网站建立在多个节点上以扩大并发用户。主要是因为我们要求这种情况下的数据库在读取操作中要非常快,我们希望数据大于100GB,并且每年以30%的速度增长。此时,我们计划使用两台EC2服务器(并在以后根据需要添加更多服务器)。
我的问题是,上述要求的推荐设置是什么?另外,有没有一种方法可以管理表和卷分区?有使用AWS设置的建议吗?
数据仓库数据库
将主要用于在时间维度上捕获来自主事务数据库的所有数据。因此,即使从主数据库中删除的记录也将被捕获在DWH中。因此,数据将非常庞大,增长将更大。如果需要,我们还将使用几个EC2实例或更多实例。
在这种情况下,推荐的设置是什么?由于持续写入(ETL),因此需要快速写入操作。我们可以在PostgreSQL中构建OLAP多维数据集吗?如果是,有没有人尝试过?
连接数据库
Web服务器将连接到主数据库以进行查询和写入。我们目前正在使用django开发应用程序,该应用程序使用本机库进行连接。是否建议使用相同的基本方法?还是应该配置pgpool?
数据仓库(ETL)
建立ETL流程以从主数据库读取并加载到数据仓库的推荐方法是什么?有什么工具吗?遵循的方法?PostgreSQL是否在构建ETL流程中提供了任何有用的功能/工具?