Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jedna aplikacja i bazy danych
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
maxxxta
Przedstawiam sytuacje:

jest aplikacja php z której korzystają różne jednostki. I teraz moje pytanie jest takie jakie jest najlepsze rozwiązanie pod względem szybkościowym:


1. Jedna kopia aplikacji łącząca się(zależnie od użytkownika) z bazą danych danej jednostki.
--- baza danych 1 jednostki
aplikacja --- baza danych 2 jednostki
--- baza danych 3 jednostki


2. Na jedną jednostke przypada jedna kopia aplikacji i jedna baza danych.

aplikacja --- baza danych 1 jednostki
aplikacja --- baza danych 2 jednostki
aplikacja --- baza danych 3 jednostki


3. Jedna kopia aplikacji i jedna zbiorcza baza danych.

aplikacja --- baza danych zbiorcza wszytkich jednostek


Nie mam w sumie więcej pomysłów, więc jeżeli ktoś się spotkał z podobnym problemem będe wdzięczny za wskazówki. Dla wyjasnienia podam jeszcze, że jednostki w ogole nie są od siebie zależne w żaden sposób, baza danych w każdej jednostce wygląda tak samo i aplikacja również. Oczywiście problemem jest także modyfikacja aplikacji (w przypadku np. 50 jednostek).


Dodane:
aplikacje, bazy danych i wszytsko (jak na razie i w przyszłości troszke dalszej) będzie znajdowało się na jednym serwerze.
AxZx
wg mnie jednas aplikacja
a to czy kilka baz zalezy od tego jakie tam dane maja byc
ale skoro jednostki maja byc niezalezne to moze kazda jednostka ma swoja baze?
np gdy bedziesz robil update aplikacji wyslesz userowi pliki php + plik sql do zmiany bazy.
dr_bonzo
Cytat
Oczywiście problemem jest także modyfikacja aplikacji (w przypadku np. 50 jednostek).

Co do update'u: wszystkie "jednoski" beda identycznie updatowane? Robisz skrypt i odpalasz i tyle smile.gif Nie proboj tego recznie robic.
MS Hornet
Właściwie to mam taki sam problem dry.gif .

Wyszło mi że najlepiej będzie zastosować jedną aplikację i bazy dla każdej jednostki (wszystko będzie od początku na jednym serwerze).

Kłopot zaczął się z tym jak powiadomić aplikacje że akurat ta, a nie inna jednostka odpaliła aplikacje worriedsmiley.gif .

Nie mogę użyć wirtualnych hostów, więc jest coś takiego:

http://adres_aplikacji/jednostka1
http://adres_aplikacji/jednostka2
http://adres_aplikacji/jednostka3
.....

Czy uważacie że lepiej (łatwiej) będzie użyć mod_rewrite (lub innego parsowania), czy utworzyć katalogi jednostka1, jednostka2 .... tam umieścić index.php z określeniem jaka jednostak się połączyła ?!?

Pozdrawiam
patrycjusz
1. To są aplikacje zamknięte? Autoryzowane 100% ? Jeżeli tak to po użytkowniku winksmiley.jpg czy też grupie użytkownika winksmiley.jpg

2. Oddzielić dane od samej struktury bazy. Jak mniemam każda z jednostek ma indywidualne dla siebie dane i strukturę tych danych - oddzielić to od struktury bazy.
MS Hornet
Rozdzielanie aplikacji po użytkowniku wymusza utrzymywanie wspólnej bazy do autoryzacji. Te rozwiązania o których pisałem wyżej umożliwiają utrzymywanie całkowicie niezależnych systemów, bez potrzeby tworzenia bazy wspólnej.

W moim przypadku każda jednostka ma indywidualne dla siebie dane, ale o dokładnie tej samej strukturze!, stąd pomysł na jedną aplikację i wiele baz.
bigZbig
Jeśli to ma być na jednym serwerze to ja bym zrobił jedną aplikację - różne bazy danych. Aplikacja rozpoznawała by jakiej bazy danych użyć w zależności od tego z jakim parametrem "jednostka" wywoływany byłby adres strony. Jeśli adres strony byłby wywoływany bez parametru pojawiałaby się lista wyboru jednostki.

Czy ty ten parametr bedziesz dodawal do adresu w sposob tradycyjny czyli http://host.com?jednostka=j1, czy za pomocą przyjaznych urli http://host.com/j1 to juz jest sprawa tego czy zalezy Ci na dobrze wygladajacych adresach, czy adresy te beda czesto kopiowane i np. przesyłane innym, a wreszczcie czy strony te powinny byc indeksowane przez wyszukiwarki. Bo jesli to beda np. aplikacje intranetowe albo strony dostepne tylko dla pracownikow tych jednostek to tworzenie przyjaznych urli mija sie z celem.
MS Hornet
Zdecydowanie są tu potrzebne przyjazne urle smile.gif , musze zachować "pozory", odrębności stron dla każdej jednostki (niestety nie wchodzią w grę VH) więc będzie tylko http://host.com/jednostka1.

Znaczy się muszę poczytać o mod_rewrite tongue.gif , i napisać sobie takiego małego Routera blinksmiley.gif .

Na stronie "podstawowej" http://host.com , będzie lista jednostek i agregator RSS zbierający nowo udostępnione informacje aarambo.gif .
bigZbig
Poczytaj sobie o Front Controlerze w Zend Frameworku. Moze Ci sie przydac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.