U mnie sytuacja była taka, że migracja nie była ze względu na szybkość. Po prostu trzeba było porobić porządki. Stara maszyna poszła do kasacji a na LMS'a została zakupiona nowa - jakiś najtańszy serwer HP z niezbyt wydajnym procesorem (ale takim na czasie a nie archaicznym).
Różnica w wydajności jest bardzo duża - według tego co mówi "właściciel" bazy. Ja administruję tym z doskoku i mało uzywam tego LMS'a. Według tego co usłyszałem, to teraz LMS' pracuje dużo płynniej - wcześniej trzeba było dłużej czekać na wyświetlanie stron z dużą ilościa rekordów. Nie wiem jak szybko generowane były poprzednio strony ale teraz czas generowania stron jest na poziomie 0,1-0,3 sekundy.
Przeskok na Postgres'a był z mojego powodu ("właścicielowi" było to obojetne), ponieważ wolę tą bazę niż MySQL'a - wszystkie moje systemy chodzą na Postgresie więc znam go dużo lepiej niż MySQL'a. Z tego co zauważyłem przy migracji to LMS może chodzić szybciej na Postgresie (w tej samej konfiguracji sprzętowej), bo zapytania w nim są już dość rozbudowane - więc cały mechanizm planowania zapytań zaszysty w Postgresie może się tu wykazać. Dodatkowo pewne operacje możnaby jeszcze przyspieszyć przez zastosowanie sieciowych typów danych jak macaddr czy inet - wtedy nie trzebaby tego przeliczać przez osadzone funkcje tylko skorzystać z natywnych typów danych i funkcji zaszytych w silniku bazy danych. Ale to temat do przyszłej deweloperki.
Pozdrawiam Maciej
----- Original Message ----- From: "Rafał Ramocki" maniac@sistbg.net To: "Maciej Kesicki" mkesicki@interia.pl; "lista użytkowników LMS" lms@lists.lms.org.pl Cc: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Thursday, March 03, 2011 12:31 PM Subject: Re: [lms] Konwersja bazy danych z MySQL do PostgreSQL
Czy i jaka różnice w wydajności zauwazes?
Pozdrawiam
Dnia 03-03-2011 o godz. 11:07 "Maciej Kesicki" mkesicki@interia.pl napisał(a):
Witam!
Ja robiłem konwersję z MySQL do PostgreSQL'a i w dodatku z upgradem LMS'a - stara wersja była sprzed 3 lat a nowa to najnowsza z CVS'a dostępna na początku tego roku.
Mogę podać sposób jaki ja stosowałem - cała migracja zajęła mi jakiś tydzień czasu - praca wykonywana wieczorami i w międzyczasie uzgodnienia i testy robione przez "właściciela" bazy.
- Eksport z MySQL'a należy wykonać od razu do kodowania UTF-8 i do
formaty PostgreSQL mysqldump ma taką opcję. 2. Napisanie skryptu, który zmieni ten format uzyskany z MySQL'a do czytelnej postaci, gdzie każdy rekord znajduje się w osobnym insercie i w osobnej linii - to ułatwia odszukanie rekordu z błędem jeśli się zdarzy. Ja dodałem tu jeszcze usuwanie rekordów z tabel, które "zniknęły" w nowej wersji bazy, oraz korektę rekordów zawierających dane z usunietych kolumn. 3. Zainstalowanie testowej instancji LMS'a z ustawieniami na bazę PostgreSQL'a i utworzenie dla niej nowej czystej bazy ze skryptów instalacyjnych LMS'a. 4. Wgranie danych do bazy PostgreSQL'a otrzymanych po przepuszczeniu przez skrypt z punkut 2. (punkty od 2 do 4 powtarzałem tyle razy aż udało się wyeliminować wszystkie błędy i złapać wszystkie powiązania). 5. Skorygowanie wszystkich sekwencji - MySQL używa do id tabel typu autoincrement, a PostgreSQL uzywa typu serial, który jest sekwencją (tabelą specjalną). W dumpie z MySQL'a nie miałem żadnych informacji o tym jak to zaktualizować i wszystkie liczniki szły od 1 powodując duplikację kluczy głównych i błędy. Dlatego napisałem prostą funkcję, która przechodzi po wszystkich sekwencjach i aktualizuje ich bieżące wartości na maksymalną wartość występującą w tabeli plus jeden.
Po takich operacjach nowy LMS zaczął chodzić, były jeszcze jakieś mniejsze niedomagania ale dało sie je wyeliminować już na wersji produkcyjnej. Być może w twoim przypadku bedzie prościej, jeśli będzie to tylko przeskok z jednaj bazy na drugą (bez upgrade'u LMS'a).
Pozdrawiam Maciej
----- Original Message ----- From: "Bartek Swedrowski" bartek@idk.net.pl To: lms@lists.lms.org.pl Sent: Wednesday, March 02, 2011 11:32 AM Subject: [lms] Konwersja bazy danych z MySQL do PostgreSQL
Witam,
Czy ktoś z listowiczów dokonał operacji konwersji bazy danych LMS z MySQL do PostgreSQL, i mógłby się podzielić doświadczeniami? Napotkane problemy, na co uważać itd.?
Pozdrawiam, Bartek _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Dramatyczny wypadek Roberta Kubicy - zobacz najswiezsze doniesienia! Sprawdz >>> http://linkint.pl/f2915
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
--------------------------------------------------------------- Wybierz Queen of Poland! Ocen i zaglosuj na wybrana dziewczyne >>> http://linkint.pl/f2930