[Ten wpis będzie jeszcze rozbudowany, sprawdzę kilka popularnych programów z bazą na Linuxie]
Masz firmę i używasz oprogramowania ERP na jednym stanowisku, a chciałbyś na kilku? Przeczytaj ten wpis i zgłoś się do mnie. Razem znajdziemy optymalne rozwiązanie. Zwykle stawiam bazy danych MS SQL na Linuxie, bo działa tak samo, a jest sporo taniej.
Wiele firm korzysta z przeróżnego oprogramowania do swojego działania. Mam na myśli programy do wystawiania faktur, obsługi magazynu, kadr i płac i wielu innych czynności. Często spotyka się sytuację, że takie oprogramowanie jest zainstalowane na zwykłym komputerze, a korzysta z tego kilka komputerów i wszyscy łączą się do tego „komputera matki”. Dobrze by było jednak mieć bazę danych na serwerze i ogarnąć do tego kopie zapasowe. Wielu specjalistów jako rozwiązanie wskaże postawienie serwera na Windowsie Serverze. Niestety to sporo kosztuje ze względu na licencję systemu operacyjnego. Można temu zapobiec instalując serwer bazy danych na Linuxie. Jak to możliwe?
Od kilku lat Microsoft oferuje i wspiera swój silnik bazy danych, a więc Microsoft SQL, na Linuxie. Jest strona z instrukcją instalacji, oczywiście oficjalna. Daje to możliwość zaoszczędzenia dobrych kilku tysięcy złotych w przypadku chęci przejścia na rozwiązanie z bazą danych na serwerze.
Jakie to programy? Podam przykłady, oczywiście na pewno jest ich więcej:
- Comarch: Optima, XL
Te programy wymagają od bazy danych wsparcia funkcji xp_cmdshell. To pozwala na grzebanie w plikach serwera, wydawanie poleceń na systemie gospodarza bazy danych. Linux tego nie wspiera, bo to narzędzie na Windowsa. - Elisoft: Firma, Faktury
Działa bez problemu, brak kopii zapasowych narzędziem producenta. - Insert: Subiekt GT, Gratyfikant GT oraz inne z tej rodziny
Działa bez problemu, brak kopii zapasowych narzędziem producenta.
- Asseco Wapro
Jeszcze nie testowałem. - Sage Symfonia
Jeszcze nie testowałem. - Enova365
Jeszcze nie testowałem. - Płatnik
Niestety nie wszystkie z nich będą działać na samym Linuxie. Przykładowo programy Comarchu używają dodatkowo aplikację do zarządzania licencjami i jest ona na Windowsa. Co wtedy? Niestety w przypadku bazy danych na Linuxie trzeba mieć jeszcze dodatkowy komputer, na którym będzie Windows z managerem kluczy. Może to być jakiś słaby i energooszczędny sprzęt, ale musi coś być.
Każdy z tych programów może działać jako jednostanowiskowy, ale też jako wielostanowiskowy. Potrzebna jest tylko możliwość dostępu do bazy danych z pozostałych komputerów. Często niestety baza danych działa na jednym ze zwykłych komputerów pracowniczych. W wielu przypadkach zapomina się o kopiach zapasowych, a o ich automatyzacji to w ogóle nie ma mowy. Tu z pomocą przychodzi Linux. Tak, ten Linux, którego niektórzy się wręcz boją, a on jest tak naprawdę podstawą istnienia świata w obecnej postaci.
Jakie korzyści płyną z używania bazy danych na Linuxie (w porównaniu z popularnym użyciem bazy na stacji roboczej)?
- Baza danych zawsze dostępna – nie trzeba specjalnie włączać komputera jednego z pracowników. Baza działa na serwerze w biurze albo w chmurze.
- Zdalny dostęp do bazy – można działać na oprogramowaniu bez konieczności siedzenia w biurze. Oczywiście nie zalecam wystawiać portu z bazą danych na świat, zalecam połączyć się do sieci firmowej przez VPN, a następnie działać tak jak lokalnie.
- Nadal brak kosztu licencji na Windows Server – to spora zaleta w małych firmach, bo jednak w kieszeni zostaje kilka tysięcy złotych za sam system operacyjny.
- Automatyzacja kopii zapasowych – to jest wręcz temat na osobny wpis. Na Linuxie można w łatwy sposób zautomatyzować tworzenie kopii zapasowych. Oczywiście na Windowsie też. Użytkownicy nie muszą pamiętać o tworzeniu kopii po wyłączaniu programu. Skrypt na serwerze może robić takie kopie o zadanych godzinach oraz wysyłać je na zewnętrzne nośniki lub serwery.
- Normalny dostęp do bazy przez Management Studio – oficjalny program Microsoftu do zarządzania bazą MS SQL normalnie łączy się z taką bazą.
- Wszystkie opcje licencyjne – można używać bazę w trybie SQL EXPRESS, ale też można normalnie aktywować licencję na wyższą wersję serwera bazy danych. W wielu małych firmach wystarczy wersja podstawowa, ale może się zdarzyć, że będzie trzeba przejść na wyższą i wykupić licencję.
Jak widać warto zainteresować się tym rozwiązaniem.
Jedyną wadą, którą udało mi się zaobserwować, to problemy z robieniem kopii zapasowych baz za pomocą narzędzi dołączanych do programów. Problem wynika z tego, że baza jest na innym urządzeniu, a na dodatek Linux zupełnie inaczej obsługuje ścieżki katalogów. Tam nie ma C:\Program Files[…], tam katalog z bazą danych leży w /var/opt/mssql/data/. W związku z tym narzędzia przeznaczone do robienia kopii na Windowsie po prostu sobie z tym nie radzą. Na szczęście nie robi to większego problemu, bo i tak zalecam robienie automatycznych kopii po stronie serwera. Sama kopia wykonana z poziomu SQL Management Studio wykona się, ale wewnątrz Linuxa. To akurat jest poprawne działanie, ponieważ łącząc się do takiej samej bazy postawionej na Windows Server, kopia zostanie zapisana na tym serwerze.
Rozwiązanie to opisałem w jednym z moich poprzednich wpisów: Realizacja serwera dla małej firmy – Proxmox, MS SQL, VPN
Wirtualizacja nada się tutaj znakomicie. Bardzo wygodnie używa się systemu odpalonego na Proxmoxie i na dodatek mając dodatkowe urządzenie, przeznaczone na kopie zapasowe, można w bardzo przyjemny sposób automatycznie robić kopie, z których można wyciągać dowolne pliki oraz przywracać cały system gdyby coś się zepsuło. Więcej info we wpisie Kopie zapasowe – a komu to potrzebne? A na co? (Proxmox Backup Server)
Jeśli zainteresował Cię wpis, chcesz oszczędzić na niepotrzebnej licencji na Windows Server, a potrzebujesz używać swój program na bazie MS SQL, to zapraszam do kontaktu. Wdrożenie rozwiązania możliwe jest zdalnie w całej Polsce.
Co do aplikacji insertGT – jest konfiguracja, która umożliwia backupy narzędziami InsertGT i innych uruchamianych z końcówek windows. podnoszenie wersji za pomocą BiuroGT i inne.
Zapraszam do współpracy
Robi backupy bazy działającej na Linuxie?
Comarch „poprawił” Optimę w zakresie konwersji baz do nowych wersji – nie można już jej zrobić bez funkcji xp_cmdshell, której jak wiemy Linux nie wspiera.
Jak Pan sobie z tym poradził?
Nie udało mi się uruchomić Optimy z bazą na Linuxie, nie ma wręcz na to szans.