Import dużego XML do PostgreSQL, Jaką metodę wykorzystać, zeby działało to wydajnie |
Import dużego XML do PostgreSQL, Jaką metodę wykorzystać, zeby działało to wydajnie |
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 |
|
|
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ę.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 22:25 |