Migracja bazy - czy warto?

0

Witam wszystkich.

Sprawa wygląda tak - przejąłem aplikację z bazą danych do ewentualnego daleszego rozwoju i maintenance'u. Baza obecnie jest na MySQL'u. Jest tam parę tysięcy pacjentów, historia wizyt, itp.

Dla własnej, późniejszej wygody postanowiłem przepisać aplikację od nowa (stary design jest kiepski i nie pozwala na łatwą rozbudowę aplikacji). Przy okazji rozważam migrację całej bazy z MySQL do Firebird. Główny powodem jest komercyjny charakter wykorzystania bazy - wiadomo o co chodzi. MySQL Enterprise póki co odpada.

Chciałbym poznać Wasze opinie na temat migracji już wdrożonej bazy.

Pomijając korzyści z posiadania licencji dopuszczającej komercyjne wykorzystanie, czy samo przedsięwzięcie jest warte zachodu? Klient w aplikacji głównej ma możliwość tworzenia/przywracania kopii zapasowej (dane z około 8 lat). Zakładam, że po migracji funkcjonalność ta by pozostała niezmieniona, tyle że dotyczyłaby tylko bazy Firebird...

0

Z punktu widzenia prawnego (po polsku piractwo) warto się pobawić. Co do backupów należy przygotować narzędzie które będzie potrafiło - wgrać backup, przenieść go na firebirda wykonać backup. Oczywiście powinno być GPL, bo inaczej może być problem z licencją.

0

Zawsze mozna zbudowac dostep na uniwersalnym silniku, np ODBC i wybor bazy pozostawic w gestii klienta (ktory to moze uzywac bazy na licencji GPL a rownizez moze wykupic hosting).

Generalnie sprawa bardzo trudna i watpie czy ktokolwiek jest w stanie powiedziec tak/nie. Chyba zalezy to juz tylko od honorarium zatrudnionego prawnika. Zarowno licencja mysql (ktora dopuszcza w wielu przypadkach stosowanie bazy komercyjnie) jak i polskie prawa sa bardzo metne.

0

Mysle, ze warto, bo to jednak piractwo. Jednak czy na pewno warto to kwestia innego pytania - czy Tobie sie chce i oplaca to robic? Jak tak, to problem z glowy :)

0

johny_bravo czy mowiac o piractwie odnosiles sie do mojego postu ?

Sytuacja: oprogramowanie napisane z uzyciem ODBC (zatem nie wybieram tu konkretnej bazy dancych) + hosting bazy danych wykupiony. Co do sterownikow sa one dla licencji GPL

ale to nie programista je instaluje a klient, zatem jedyne co musi spelnic dla licencji GPL to udostepnic to co sciagnal. Opisane to tu

http://www.mysql.com/about/legal/licensing/index.html

sa trzy typy i jeden (dla ktorego jest na licencji GPL)

For Web Sites, Enterprise IT, and Government IT:

i w tym przypadku (a bardzo wiele projektow da sie pod to podciagnac)

... The Certified Software (database server, connectors) is provided under the GPL License....

a te dwa pierwsze moga byc komercyjne ?! Pytanie jaki sens ma wlasnie ten tekst bo wynikalo by z tego ze wiekszosc strony sa na licencji GPL. Watpie aby tanie hostingi wykupywaly licencje mysql a przeciez dzialaja komercyjnie i klient kupujacy hosting ma prawo z niego korzystac dowolnie w tym z bazy mysql ?!.

Mozna powiedziec (i tak tez pisza na stronach mysql'a), ze licencja komercyjna jest potrzebna wtedy kiedy oprogramowanie wymaga mysql (z ODBC wymaga SQL) lub tez

instalacja/program jest polaczony z fragmentami mysql (sterowniki, serwer).

A reasumujac czemu nie postgresql, ktory jest na licencji BSD i jest chyba lepszy od tych dwoch ?
Dosc latwo przechodzi sie miedzy jedna a druga (a z pewnoscia latwiej z mysql do psql).
Sa nawet skrypty do migracji:
http://pgfoundry.org/projects/mysql2psql/

0

@reichel: nie, bardziej popieralem to co napisal Koziolek. Twoje rozwiazanie tez jest sensowne, ale wydaje mi sie, ze lepiej, zeby opiekujacy sie baza zajal sie wszystkim. No i dostep do postgresa, mssql (ktorego ja polecam) czy firebirda wprost jest jakis bardziej naturalny niz posredni przez ODBC. Tym bardziej, ze wymaga, z tego co wyczytales, jakiejs oplaty gdzies po drodze.

0

@johny_bravo, nie do końca. To co zaproponował reichel jest rozsądne, ale to trochę wyższy poziom w całości. Pytanie można raczej zadać w taki sposób:
Z jakim RDBMS ma łączyć się nasz ODBC?
Innymi słowy jaki sterownik należy skonfigurować.

0

No moze. Mi sie wydaje, ze skoro aplikacja uzywa jednej i tylko jednej bazy to przechodzenie w wyzszy poziom abstrakcji (rozdzielenie warstw poprzez sterowniki) niekoniecznie wydaje sie byc sluszne, bo moze zajac wiecej czasu po prostu. Natomiast, jezeli ma to przyniesc w przyszlosci profity (to uniezaleznienie od silnika bazy) no to jest to dobry krok :)

0

no i dochodzimy do tego kto za to zaplaci :)

Generalnie jest tak, ze wszyscy wola szybko (nawet jak im sie wyluszcza zalety: projektow, uniwersalnych rozwiazan), bo taniej. Ale potem i tak trzeba cos przerabiac i koniec koncow trzeba zrobic projekt (no i wychodzi drozej niz by Od razu tak zrobic).

1 użytkowników online, w tym zalogowanych: 0, gości: 1