Witam
Mam ms sql server, kilka baz z kilku programów. Czy lepiej wszystkie bazy zrobić na jednej instancji czy zakładać osobne instancje dla każdego programu?
Czy jest różnica w wydajności?
tuz napisał(a):
Witam
Mam ms sql server, kilka baz z kilku programów. Czy lepiej wszystkie bazy zrobić na jednej instancji czy zakładać osobne instancje dla każdego programu?
Czy jest różnica w wydajności?
Jeśli myslisz SQL Express to wielość instancji pozwala rozluźnić ograniczenie RAM (w teorii 1GB / instancję, w praktyce nieco więcej)
Jeśli nielimitowany komercyjny SQL Server to może nie mieć sensu, MZ lepiej dać całe zasoby na jedną
Generalnie lepiej trzymać bazy osobno (bardzo niedawna dyskusja na ten temat https://4programmers.net/Forum/Devops/366337-rozdzielenie_baz_danych_w_mikroserwisach?page=1). Jeśli chodzi o wydajność to w większości przypadków każdego softu jedna duża instancja jest lepsza niż N proprocjonalnie mniejszych. Oczywiście są wyjątki w postaci błędów wydajnościowych ale bazy danych to raczej nie ten kaliber.
W przypadku baz pozostaje jeszcze jeden temat tj. różna natura zapytań. Bazy danych, która jest używana w aplikacji internetowej będzie miała zupełnie inną charakterystkę pracy niż baza służąca do analizy biznesowej:
- dużo modyfikacji vs importy co jakiś czas
- proste zapytania vs skomplikowane
- konieczne niskie latency vs fajnie, żeby działało w miarę szybko
Umiejscowanie baz dwóch różnych typów na jednym serwerze może sprawić, że możesz mieć problemy ciężkie do rozwiązania np. jakiś business analityk puści ciężkie query i aplikacja leży