Nowa wersja serwisu a baza danych

0

Popularną praktyką przy wdrożeniach nowej wersji serwisu WWW, jest również pozostawianie jej starej wersji. Tak aby użytkownicy mogli stopniowo się przyzwyczaić. Jak rozumiem, w takim przypadku obydwie wersje muszą korzystać z tej samej bazy danych. Inaczej tego nie widzę. Prawda? W takim przypadku nowa wersja jest ograniczona starą wersją bazy danych...

W nawiązaniu do tego wątku: Nadchodzi nowe... Coyote 2.0

W gronie moderatorów dyskutowaliśmy o nowej wersji Coyote. Stanęło na tym, aby uruchomić nową wersję wraz ze starą, na tej samej bazie danych. Trochę nad tym ubolewam, gdyż w samej strukturze bazy jest wiele do zrobienia. Boli mnie to że trzeba będzie napisać kod działający pod starą bazę danych i po jakimś czasie to "zaorać" w związku ze zmianą struktury/normalizacją. Dlatego zastanawiam się czy jest jakaś inna opcja...

7

Nie bardzo widzę sens tymczasowego istnienia dwóch wersji. No bo co znaczy "stopniowe przyzwyczajanie się" użytkowników? Patrząc na to globalnie wygląda to tak, że część korzysta z nowej wersji, część ze starej przy czym proporcje te pomału się przesuwają - niby ok, ale spójrz na to z perspektywy pojedynczego użytkownika. Użytkownik nie korzysta raczej na raz z obu wersji, lub "godzinka tak, dwie godzinki tak" - albo widzi nową wersję i na nią przechodzi, albo zostaje na starej póki mu się nie odwidzi / stara wersja przestanie działać. Tak czy inaczej efekt jest ten sam - zostaje jedna wersja, a znakomita większość dokonuje przeskoku a nie płynnego przejścia (tylko cały proces się rozwleka w czasie).

Wg mnie najlepiej szykować bazę szytą na miarę nowego silnika i dokonać jednorazowej zmiany.

0

@Maciej Cąderek ma rację.

0

Ok, to trzeba by było napisać konwerter danych ze starej do nowej bazy w takim razie.

No dobrze, zakładając, że tworzymy projekt pod nową bazę... co powiedziecie na wykorzystanie Postgresa zamiast MySQL/MariaDB? Z Postgresem pracuje obecnie więcej niż z MySQL i powiem szczerze, że jeszcze parę lat temu zniechęcał mnie do siebie brakiem fajnych, przyjaznych narzędzi oraz pewną topornością w stosunku do MySQL. Jednak kurcze... to jest bardzo dobra baza ;)

3

Pytanie czy nowy Coyote też będzie bazował na wielu funkcjach w SQL czy jednak baza będzie prosta, a cała logika będzie w php, co moim skromnym zdaniem o wiele łatwiej się debuguje, analizuje, pisze i przenosi.

0

Bazę danych można będzie znacznie uprościć. Pisząc obecną wersję miałem w głowie myśl, że projekt będzie używany na innych stronach ;) Dlatego dodana została jakaś obsługa modułów, wtyczek, konfiguracji itp itd. Moim zdaniem trzeba przyznać, że Coyote zawsze będzie używany tylko na 4p i należy się skupić na potrzebach 4p. Stąd też strukturę można znacznie uprościć.

Ze względu na niektóre ograniczenia mySQL musiałem posiłkować się triggerami celem pilnowania integralności danych. W Postgresie nie ma takich ograniczeń. Do tego struktura może być prostsza. Nie widzę jednak nic złego w używaniu triggerów czy procedur/funkcji składowanych :)

3

jeśli tylko masz możliwość wybrania postgresa zamiast mysqla to ja bym się nie wahał :).

0

Utrzymywać dwie wersje miałoby sens jakby były zasoby, które by mogły administrowac oba serwisy :) Wg mnie powinna być jedną wielką przesiadka, gdyż może to wprowadzić zamieszanie choćby w bazie danych. Skoro struktura bazy danych jest daleka od ideału, to nie ma co pod nią pisać kolejnej wersji i męczyć się z nią kolejne lata...

0

postgres zdecydowanie fajny. a fajnie byłoby gdyby aplikacja nie była zależna od konkretnej relacyjnej bazy danych.

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