W który SZBD iść

0

Cześć wszystkim. Chciałbym w przyszłości zostać programistą baz danych i stoję przed trudnym wyborem czy skupić się na sql server i t-sql czy może na oracle i pl/sql (plus cała otoczka która stoi za tymi rozwiązaniami). Dodam, że miałem już akademicki kontakt z produktem MS i Oracle, jeden i drugi mi się podobał, nie mam żadnych uprzedzeń co do któregoś. W przyszłości na pewno będę musiał poznać oba te SZBD, ale pytanie czy teraz uczyć się dwóch na raz (obawiam się że jak za jedno i drugie wezmę się, to porządnie nie nauczę się ani jednego ani drugiego, bo jednak nawet pomiędzy samym SQLem są różnice - szczególnie w funkcjach wierszowych - przynajmniej taka moja obserwacja)? Jak przeglądałem oferty pracy to miałem takie subiektywne wrażanie, że tutaj oferty pracy dla programistów pl/sql znacząco przeważają i może mi być dużo łatwiej zdobyć pracę szczególnie jako młodszy programista. Jakie jest Wasze zdanie? Czy moje obserwacje są prawidłowe czy po prostu takim fartem trafiałem oferty tylko dla programistów pl/sql? Który z tych systemów według Was lepiej wybrać i dlaczego? Czy może faktycznie warto przysiąść do jednego i drugiego? Z góry dziękuję za pomoc.

0

przede wszystkim dobra znajomość SQLa (w tym stored proc, trigery, widoki), jak i kiedy tworzyć indeksy (co wcale nie jest takie łatwe), jak czytać plany zapytania i poprawiać wydajność zapytań modyfikując je odpowiednio i/lub dodając indeksy. To są takie uniwersalne rzeczy, które nie zależą od konkretnej bazy albo zależą w bardzo małym stopniu. A potem musisz wybrać jeden. Jaki - to już sam zdecyduj. Wydaje mi się, że w pl oracle w mniejszych projektach jest mniej popularny. Może dlatego, że MSSQL jako produkt ze stajni MS jest bardzo łatwo połączyć z C# (nie mówię, że np. do oracle jest się ciężej dostać) ale jednak mając oba produkty tego samego producenta można mieć "podejrzenie", że będą razem działać. Oracle jest częściej wybierany przez javowców. A tu aplikacji desktopowych jest jak na lekarstwo. Jak już dokonasz wyboru to wtedy trzeba się zagłębić chociaż w podstawy tuningowania bazy, współdziałanie z różnymi systemami (chociaż MS to tylko na MS :)) a potem to co nie jest standardem, czyli rozszerzenia języka SQL i tyle

0

widziałem na produkcji oracle i db2 w dużych systemach i postgresa i mysqla w małych. mssqla nigdy w prawdziwej aplikacji nie widziałem

0

Pracuję w 3-ciej firmie już, wszędzie rządził Oracle jako baza danych. W poprzedniej menedżer po godzinach klepał ze znajomymi serwis w ASP.NET i korzystali z Postgresa. Mieli dwie próby przejścia na MSSQL, ale kończyło się to problemami z wydajnością, których nie opłacało im się obchodzić. To tyle z mojego doświadczenia :P

0

@Shalom, nawet tam gdzie używany był C# czy ogolnie .net? I czemu tak jest że sql server nie jest używany?
@Wibowit, ogolnie dość często spotykłem się ze stwierdzeniem, że oracle jest dużo wydajniejszy, ale to były takie tylko puste stwierdzenia bez jakichkolwiek testów, więc nie przywiązywałem do tego uwagi
@abrakadaber, może Ty masz jakieś pozytywne doświadczenia z sql server? :) bo ogólnie tych ofert dla programistów t-sql trochę widziałem, było ich zdecydowanie mniej, ale jednak trochę było, więc może ms sql nie jest taki zły? A jeżeli nie jest, to w jakich zastosoawaniach się sprawdza?

I mam jeszcze takie pytanie, czy według Was powinienem jako młodszy programista orientowac się w jednym i drugim SZBD? Czy lepiej iść w tylko jeden? Bo z wypowiedzi @abrakadaber wnioskuję, że te róznice między tymi bazami nie są tak duże jak na pierwszy rzut oka mogło mi się wydawać.

0

@Wibowit, ogolnie dość często spotykłem się ze stwierdzeniem, że oracle jest dużo wydajniejszy, ale to były takie tylko puste stwierdzenia bez jakichkolwiek testów, więc nie przywiązywałem do tego uwagi

Ja mam wrażenie, że komercyjne bazy danych wcale nie są jakieś znacząco wydajniejsze od np Postgresa, być może nawet wolniejsze. Generalnie myk jest taki, że (z tego co wyczytałem/ natknąłem się w Internecie) licencje Oracla, MSSQL itd zabraniają publikować ich wyników testów wydajności. Więc jak są jakieś testy porównawcze to praktycznie dotyczące tylko darmowych/ otwartych baz.

0

nie, w pracy nasz system oparty jest o oracle :D. Byłem pewny, że jednak mssql jest dużo popularniejszy - większość softu do obsługi firm i systemy f-k jakie miałem w ręce działały na bazie mssql express, "zagramaniczny" soft, dostarczany z dosyć dużym systemem ważącym też oparty jest o mssql. Widać akurat taka specyfika pracy, że wszyscy dookoła wolą ms.

Co do różnic to język obu jest zgodny z najnowszym standardem SQLa dość mocno (nie wiem - ponad 90%) (jeszcze nie tak dawno w oracle nie było join a jedynie (+) przy kolumnie w warunku :)). Całą reszta to dodatki, które oferują poszczególne bazy wyrastające ponad standard ale niejednokrotnie dające kopa jeśli potrafi się je użyć. Także język proceduralny jest już różny - t-sql i pl/sql.

Bazodanowiec tak jak popularny "informatyk" to taki gość, który umie wszystkiego po trochu i niczego bardzo dobrze. Jak znasz dobrze SQLa to sobie poradzisz z każdą bazą (może poza mysqlem :P) ale jeśli staniesz przed poważnym problemem to możesz nie dać rady. Jak będziesz Specjalistą (przez duże S) konkretnej bazy to niejako z innymi sobie poradzisz (bo znasz podstawy, zasadę działania itp) ale z tą jedną będziesz mógł zrobić prawie wszystko.

0

@bazodanowiec, panowie wyżej to programiści Javy, więc nic dziwnego, że trafiają na Oracle, a nie na MSSQL, bo ten jest powszechnie używany w firmach, które korzystają z .NET.

0

@somekind, czyli mam rozumieć, rynek dla progamistów sql server nie jest taki mały? Mógłbyś podzielić się swoim doświadczeniem jak to wyglada w rzeczywistoći bo portale typu pracuj.pl o ile mogą dawać ogólny pogląd na rynek pracy to przypuszczam że idealnym miejscem statystycznym to nie są

0

Ja pracowalem tez w kilku firmach, pisalem w .NET, Javie i Pythonie. Projekty w .NET korzystaly glownie z mssql z jednym rodzynkiem z db2, Python glownie z postgresa, a Javowe: 1 z postgresa, 1 z mssql, 1 db2, 1 apache derby, do testow embedded (derby, h2 lub hsqldb), a cala reszta z Oracla. Komercyjnie nie korzystalem z mysql nigdy. Zatem to co mowi swinka ma w sobie duzo prawdy, z pewnymi wyjatkami.
Co do nauki - zalezy co chcesz robic. Jak chcesz byc programisa ktory umie korzystac z bazy danych (pisac inserty i selecty) to naucz sie porzadnie teorii relacji i ogolow sql, a projekt i jego baza to kwestia poznania paru rzeczy. Jesli chcesz zostac dba-mastah ktory w pamieci tworzy query plany jak widzi zapytania to pewnie by lepiej bylo sie skupic na jednym konkretnym, ale pytanie czy tacy ludzie sa potrzebni... Ja nie uczesniczylem w projekcie ktory by takiego czegos wymagal, ale ja jeszcze mlody jestem i malo widzialem.

0
bazodanowiec napisał(a):

@somekind, czyli mam rozumieć, rynek dla progamistów sql server nie jest taki mały? Mógłbyś podzielić się swoim doświadczeniem jak to wyglada w rzeczywistoći bo portale typu pracuj.pl o ile mogą dawać ogólny pogląd na rynek pracy to przypuszczam że idealnym miejscem statystycznym to nie są

Nie wiem jak duży jest rynek, wiem tylko, że ten SZBD jest używany w wielu dużych systemach, w wielu dużych firmach.

W poprzedniej pracy, w której zajmowaliśmy się niedużą, ale dość skomplikowaną i wymagającą doskonałej wydajności aplikacji, mieliśmy programistę bazy danych. Teraz w kilkudziesięcioosobowym zespole tworzymy ERPa, baza danych jest dla nas właściwie nieistotna, więc i programisty BD nie mamy. Ale firma ma dział BI, i tam na pewno specjaliści od SQL są.
Z kolei jeden z moich promotorów jest takim uber masterem SQL, i pracuje przy systemach, które znaczną część logiki mają w procedurach składowanych, wniosek - ktoś je musiał napisać. No, ale od takiego podejścia się raczej odchodzi.

0

Właśnie też widziałem dużo ofert dla programistów BI i widzę, że nawet tutaj na forum pojawiło się kilka wątków na ten temat, niestety jakoś mało się rozwinęły.
Chciałbym zapytać o jeszcze jedną rzecz. W ofertach pracy, w szczególności pod nagłówkiem "mile widziane", pojawiają się często różne narzędzia związane z danym producentem, np. w ofertach pracy z produktami microsoftu pojawiały znajomość SSIS czy SSAS (choć to chyba raczej własnie dla programistów BI) czy przy oraclu np. APEX. Jak według Was powinna wyglądać taka lista "must have" jeżeli chodzi o znajomość różnych tego typu narzędzi dla młodszego programisty? Bo wiadomo, że w danej pracy będę musiał poznać jeszcze inne narzędzia, które uzywa firma, ale chodzi mi o takie, które po prostu musi znac każdy (oprócz SQL i pl/sql czy t-slq :P).

0

W mojej obecnej i w 3 poprzednich pracach korzysta się z MSSQL. Więc to nie jest wcale taki mały obszar.

0
Wibowit napisał(a):

Pracuję w 3-ciej firmie już, wszędzie rządził Oracle jako baza danych

patrz, a ja pracuję w czwartej firmie już i wszędzie rządził MSSQL. w jednej tylko był też postgresql, ale niejako mimochodem, bo przy pobocznym, małym projekcie odziedziczonym po innej firmemce, plus w tejże samej firmie rok temu rozpoczęła się powolna migracja w stronę MongoDB.

odpowiadając na pytanie autora wątku - w mssql Analysis Services może zrobić wrażenie na potencjalnym pracodawcy.

0

Dziękuję wszystkim za wypowiedzi. Chciałbym jeszcze zapytać czy są np. jakieś instytucje czy projekty udostępniające dane, które mógłbym wykorzystać do analizy? Oczywiście nie muszą to być już hurtownie danych, moga być to również bazy transakcyjne, przy okazji pouczyłbym się o procesach ETL :)

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