Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Import dużego XML do PostgreSQL, Jaką metodę wykorzystać, zeby działało to wydajnie
antek1227
post 10.09.2014, 21:27:39
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.11.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,
Piszę aplikację, która bedzie ładowała do bazy danych pliki XML, o pojemności 200-500MB. Jedną z znanych mi metod jest zastosowanie simplexml, ale nie działa to wydajnie.
Zadanie będzie polegało najpierw na wczytaniu wszystkich danych (w php będą one walidowane, pod kontem zgodności z przyjętym standardem), a następnie będzie szła aktualizacja raz dziennie, i jeżeli będzie się coś zmieniać, to dane zostaną nadpisane, dodane, bądź usunięte. Nie ukrywam, że zależało by mi na lepszej wydajności, ponieważ są też problemy z serwerem, na którym rozwiązanie testowaliśmy.
Czy znacie jakieś lepsze metody na import takiego pliku, które działają wydajniej? Może jakiś sposób, na inne rozwiązanie tego porblemu.
Z góry dzięki za odpowiedzi
Pozdrawiam
Go to the top of the page
+Quote Post
zegarek84
post 10.09.2014, 22:18:27
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


na pewno raczej nie muszę pisać, iż dane te muszą być wgrane w jednej sesji... ale to mało, by nie sprawdzać czy robić update czy insert to najlepiej dane wgrać w sesji do tabeli tymczasowej a potem jednym zapytaniem tam gdzie są unikalne rekordy powtarzające się jakoś rozpoznawalne zrobić update a na różnicy kolejnym zapytaniem insert wielu rekordów na raz... na koniec oczywiście delete tymczasowej tablicy... a jeśli problem jeszcze jest z pamięcią po stronie PHP to programowanie zdarzeniowe + SAX (Simple API for XML)...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:25