Sono abbastanza nuovo in PostgreSQL, non ho mai fatto una grande distribuzione usando prima. Ma ho una buona esperienza nelle soluzioni aziendali e voglio provare ad applicare alcune delle cose che ho imparato usando PostgreSQL.
Ho un sito che è dimensionato per gestire un gran numero di dati e traffico. L'infrastruttura verrà costruita utilizzando su Amazon (AWS) utilizzando istanze EC2 e volumi EBS.
Il progetto dovrebbe avere due database, un database transazionale principale e un data warehouse per gestire analisi e reportistica.
Database transazionale principale
verrà utilizzato per il sito Web live, il sito è basato su più nodi per aumentare gli utenti simultanei. Principalmente richiediamo che il database per questo caso sia estremamente veloce nelle operazioni di lettura, prevediamo dati> 100 GB con una crescita annuale del 30%. A questo punto, stiamo pianificando di utilizzare due server EC2 ( e aggiungerne altri in seguito, se necessario ).
la mia domanda, qual è la configurazione consigliata per i requisiti di cui sopra? Inoltre, c'è un modo per gestire il partizionamento di tabelle e volumi? ci sono consigli per l'utilizzo della configurazione di AWS?
Database del data warehouse
Verrà utilizzato principalmente per acquisire tutti i dati dal database transazionale principale nella dimensione temporale. così, anche i record eliminati dal database principale verranno acquisiti nel DWH. Pertanto, i dati saranno molto grandi e la crescita sarà ancora più grande. Useremo anche un paio di istanze EC2 o più, se necessario.
Qual è l'impostazione consigliata in questo caso? questo richiederà un'operazione di scrittura rapida a causa della scrittura costante (ETL). Possiamo costruire cubi OLAP in PostgreSQL? se sì, qualcuno ha provato?
Connessione al database
I server Web si collegheranno al database principale per eseguire query e scrivere. Al momento stiamo sviluppando un'applicazione utilizzando django che utilizza la libreria nativa per la connessione. Si consiglia di utilizzare lo stesso metodo di base? o dovremmo configurare pgpool?
Data warehouse (ETL)
Qual è il modo consigliato per la creazione di processi ETL per leggere dal main e caricare nel data warehouse? Qualche attrezzo? metodologia da seguire? PostgreSQL offre utili funzioni / strumenti nella costruzione di processi ETL?