Czołem,
zakopałęm się w bazie danych i mam duży problem jak to rozwiązać - w sensie jak stworzyć odpowiednie relacje do modelu biznesowego.
Model biznesowy:
Cel: wpisać w bazę danych wszystkie możliwe kombinacje serwerów i aplikacji, które później klient wybiera do wdrożenia + łatwo dodawać nowych klientów i kombinacje dla nich.
Mamy Klienta (Customer), klient taki wybiera aplikację, ktora chce uzywa - np. SAP HANA. Dla każdego klienta mamy kilka dedykowanych serwerów do wyboru. Każdy z takcih serweró moze byc na produkcji lub teście. Do każdego serwera możemy użyć albo virtual machine albo bare metal. I na koncu do kazdego z nich mamy przypisane do wyboru kilka systemów operacyjnych do wyboru do instalacji na nich. Dla kazdego serwera mamy Rdzen i gniazdo i nazwę przypisana na stale. Dodatkowo dla kazdego zestawu Aplikacja - Server mozemy wybrac z kilku pozycji jaka pamieć (ile procesorów i jaki limit pamieci) maja miec na serwerze. To tak w skrócie.
Moje relacje testowe wygladaja tak (i nie zakladam zeby bylo mega dobrze):
Teraz tak:
t_customers - klienci
t_environments - produkcja lub test
t_applications - aplikacja do wyboru przez klienta
t_ server - server z nazwa, rdzeniami, numanodes i jaka infrastruktura (np. cloud lub inny)
t_serverdetails - szczegoly do kazdego serwera. I tak dla SAP HANA bezie do wyboru 2 servery, i do kazdego z nich bedzie mozliwosc przypisania kilku wariantów, np. 20 procesów, 32 GB, albo 120 procesów, 60 GB.
Glownie zastanawiam się nad tabelami serverdetails oraz relacjami t_machine i t_operatingsystems. Nie wiem czy one są poprawne.
Dodatkowo czy server ma byc testowy czy produkcyjny - jesli wlacze to do tabeli t_servers to bede mial powtarzajace sie dane. Bede mial np.dla Customer1 : Server1, 4 NumaNodes, 5 Cores i environment: PRoduction, Customer2 bedzie mial ten sam server ale environment: Test. Czyli musialbym przepisac prawie ten sam rekord i zmienic tylko pole environment.
Wszelkie wskazówki mile widziane.
Dziękuję,
Pozdrowienia,
Jacek