Jestem całkiem nowy w PostgreSQL, nigdy wcześniej nie przeprowadzałem dużego wdrożenia, używając go. Ale mam duże doświadczenie w rozwiązaniach dla przedsiębiorstw i chcę spróbować zastosować część tego, czego się nauczyłem, korzystając z PostgreSQL.
Mam witrynę dostosowaną do obsługi dużej liczby danych i ruchu. Infrastruktura zostanie zbudowana z wykorzystaniem Amazon (AWS) przy użyciu instancji EC2 i woluminów EBS.
Projekt powinien mieć dwie bazy danych, główną bazę danych transakcji i hurtownię danych do obsługi analiz i raportów.
Główna baza transakcyjna
będzie używany do witryny na żywo, witryna jest zbudowana z wielu węzłów w celu zwiększenia liczby jednoczesnych użytkowników. Przede wszystkim wymagamy, aby baza danych była bardzo szybka w operacjach odczytu, oczekujemy> 100 GB danych z 30% rocznym wzrostem. W tym momencie planujemy użyć dwóch serwerów EC2 ( i dodać więcej w razie potrzeby ).
moje pytanie, jaka jest zalecana konfiguracja powyższych wymagań? Ponadto, czy istnieje sposób zarządzania partycjonowaniem tabeli i woluminów? czy istnieją zalecenia dotyczące korzystania z konfiguracji AWS?
Baza danych hurtowni danych
Będzie używany głównie do przechwytywania wszystkich danych z głównej bazy danych transakcji w wymiarze czasowym. więc nawet usunięte rekordy z głównej bazy danych zostaną przechwycone w DWH. Dlatego dane będą bardzo duże, a wzrost będzie jeszcze większy. W razie potrzeby użyjemy również kilku instancji EC2 lub więcej.
Jaka jest zalecana konfiguracja w tym przypadku? będzie to wymagało szybkiej operacji zapisu z powodu ciągłego zapisu (ETL). Czy możemy budować kostki OLAP w PostgreSQL? jeśli tak, to czy ktoś próbował?
Łączenie z bazą danych
Serwery WWW będą łączyć się z główną bazą danych w celu wysyłania zapytań i zapisywania. Obecnie opracowujemy aplikację przy użyciu django, która korzysta z biblioteki natywnej do łączenia się. Czy zaleca się stosowanie tej samej podstawowej metody? czy powinniśmy skonfigurować pgpool?
Hurtownia danych (ETL)
Jaki jest zalecany sposób budowania procesów ETL do odczytu z głównego i ładowania do hurtowni danych? Jakieś narzędzia? metodologię do naśladowania? czy PostgreSQL oferuje jakieś przydatne funkcje / narzędzia w budowaniu procesów ETL?