1

Temat: Wolne działanie pomiędzy dwoma wirtualnymi maszynami

2

Odp: Wolne działanie pomiędzy dwoma wirtualnymi maszynami

Napisz coś więcej, w jaki sposób ładujesz plik, używasz polecenia copy, podłączasz CSV-ła za pomocą fdw.
Jeśli generujesz inserty to czy wykorzystujesz polecenie prepare, a może wykorzystujesz pg_ctl.
A może rozważ replikacje?

3

Odp: Wolne działanie pomiędzy dwoma wirtualnymi maszynami

Michał dzięki za odpowiedź.
Tak jak napisałem do ładowania używam narzędzia ETL pentaho, czytam plik po drodze wykonuję kilka transformacji na danych i ładuję do tabeli. Na razie doszedłem do tego, że jeżeli zapisuje do jednej tabeli to już idzie te 3000 r/s ale jak zapisuje do dwóch(w drugiej mam rekordy których nie udało się z jakiegoś powodu załadować) to wtedy spada do tych 200 r/s - być może wina leży jednak po stronie procesu pentaho to musze jeszcze potestować.

Ale jeśli można to przy okazji chciałem zapytać o kolejną  rzecz, mianowicie partycjonowanie, które dajeo mi w kość od paru dni.
Mam dane załadowane do tabeli(tabela ma 70GB) i te dane chce załadować do innej tabeli która jest popartycjonowana(365 partycji po 1 na każdy dzień) - z tej tabeli będą tworzone raporty - głównie dzienne.
Zrobiłem triggera na tabeli głównej + funkcję rozrzucającą po partycjach tak jak jest w dokumentacji - wydajność tego jest tragiczna po 20 godzinach przerwałem zapytanie. Z tego co sprawdziłem na mniejszej ilości danych procedura działa szybciej niż ten trigger więc napisałem procedurę, która kursorem czyta tą dużą tabelę i rozrzuca dane bezpośrednio do tabel partycji ale już na tej dużej tabeli też przerwałem po 20 godzinach...
Ciekawe jest to, że podczas wykonywania tych zapytań zasoby sprzętowe są mało wykorzystywane(procesor dochodzi do 70%, RAM do 70%, macierz prawie w ogóle nie wykorzystana) - o co chodzi ?

Ostatnio edytowany przez kostek (2015-09-11 08:39:42)

4

Odp: Wolne działanie pomiędzy dwoma wirtualnymi maszynami