Je suis assez nouveau sur PostgreSQL, je n'ai jamais fait de déploiement important en l'utilisant auparavant. Mais, j'ai une bonne expérience dans les solutions d'entreprise et je veux essayer d'appliquer une partie de ce que j'ai appris en utilisant PostgreSQL.
J'ai un site qui est dimensionné pour gérer un grand nombre de données et de trafic. L'infrastructure sera construite à l'aide d'Amazon (AWS) à l'aide d'instances EC2 et de volumes EBS.
La conception devrait avoir deux bases de données, une base de données transactionnelle principale et un entrepôt de données pour gérer l'analyse et les rapports.
Base de données transactionnelle principale
sera utilisé pour le site Web en direct, le site est construit sur plusieurs nœuds pour étendre les utilisateurs simultanés. Principalement, nous exigeons que la base de données pour ce cas soit extrêmement rapide dans les opérations de lecture, nous nous attendons à> 100 Go de données avec une croissance annuelle de 30%. À ce stade, nous prévoyons d'utiliser deux serveurs EC2 ( et d'en ajouter plus tard si nécessaire ).
ma question, quelle est la configuration recommandée pour les exigences ci-dessus? De plus, existe-t-il un moyen de gérer le partitionnement des tables et des volumes? existe-t-il des recommandations pour l'utilisation de la configuration AWS?
Base de données d'entrepôt de données
Sera utilisé principalement pour capturer toutes les données de la base de données transactionnelle principale dans la dimension temporelle. ainsi, même les enregistrements supprimés de la base de données principale seront capturés dans le DWH. Par conséquent, les données seront très volumineuses et la croissance sera encore plus importante. Nous utiliserons également quelques instances EC2 ou plus si nécessaire.
Quelle est la configuration recommandée dans ce cas? cela nécessitera une opération d'écriture rapide en raison de l'écriture constante (ETL). Peut-on construire des cubes OLAP dans PostgreSQL? si oui, quelqu'un a-t-il essayé?
Connexion à la base de données
Les serveurs Web se connecteront à la base de données principale pour interroger et écrire. Nous développons actuellement une application utilisant django qui utilise une bibliothèque native pour la connexion. Est-il recommandé d'utiliser la même méthode de base? ou devons-nous configurer pgpool?
Entrepôt de données (ETL)
Quelle est la méthode recommandée pour créer des processus ETL pour lire à partir du principal et charger dans l'entrepôt de données? Des outils? méthodologie à suivre? PostgreSQL propose-t-il des fonctions / outils utiles pour la construction de processus ETL?