Ostatnio zaczynam się interesować hurtowniami danych w czystej teorii i zagadnienie z tematu nie daje mi spokoju. W sieci nie znalazłem wiele więcej niż to, że
SAS 4GL lepiej niż SQL spełnia się w pracy w hurtowni o ogromnych ilościach tabel/rekordów (?)
oferuje “podjęzyki” - np C i SQL w (bezpośrednio w SAS’ie, 4GL nie da się użyć w SQL)
oferuje większą gamę rozszerzeń które można importować (pomijając Accesa i Excela)
oferuje dostęp do bazy za pomocą programu języka 4GL lub OLE DB, a SQL np. JDBC/ODBC.
I jak to jest? - To fakt, że SQL nie radzi sobie tak dobrze jak 4GL np. z kilkoma milionami danych?
Będę wdzięczny za odpowiedź, bo wydaje mi się, że sama charakterystyka 4GL nie jest tak rozproszona w sieci jak SQL więc ciężko porównać
Nie bardzo rozumiem na jakich właściwie podstawach porównujesz SAS 4GL, który jest związany z konkretną firmą i jej technologią z językiem SQL, który jest wspierany przez wielu różnych producentów. To tak, jakbyś porównywał BMW Z4 z majonezem.
Może z majonezem to lekka przesada, wszak SAS ma wbudowany SQL niejako “podjęzyk”. W związku z powyższym porównanie BMW z akumulatorem to będzie bardziej trafne.
OK, ale oba języki służą do pracy z danymi więc nie można ich porównać pod żadnym innym względem? Wskazać jakiś zalet - tak jak mówimy, ze 4GL ma większe zastosowanie, bo zawiera w sobie SQL i inne podjęzyki? Dzięki za odpowiedzi Panowie! Trochę mnie naprostowaliście, wszak spotkałem się kiedyś z zagadnieniem “SQL kontra SAS 4GL” na jednym z wykładów więc nie jest to tylko mój wymysł. I na pewno się nie pomyliłem, bo mam to w jakiś starych notatkach w dokładnie takiej samej formie
SAS 4GL to język używany przez narzędzie jednej firmy zaś SQL może być używany w narzędziach różnych firm. Zatem, moim zdaniem to SQL ma większe zastosowanie.
Napisałem, że interesuję się hurtowaniami danych, a co za tym idzie - SAS 4GL i jego wykorzystanie. Chciałem porównać głównie język komunikacji z bazą danych w przypadku SAS 4GL i SQL, ale to raczej nie jest odpowiednie zapytanie na forum więc chciałbym się skupić m.in. na wydajności działania obu języków i np na tym dlaczego niektóre firmy do obsługi hurtowni danych wybierają SAS 4GL, a nie tańsze bądź zupełnie darmowe rozwiązania związane z SQL - jakie mają z tego niby korzyści, poza tym, że SAS jest również narzędziem analitycznym?
Jeśli firma używa systemu SAS, to używa tam pewno języka 4GL, bo może. Jeśli firma ma hurtownię danych w oparciu o rozwiązania Oracla, to użyje mechanizmów analitycznych udostępnianych przez tę firmę. Jeśli stosuje MS SQL Server, to hurtownię będzie analizować zapewne przy użyciu Analysis Services, czyli sporo rzeczy przy użyciu designerów i układania “klocków” na obszarze projektowym, ale można też wpisywać ręcznie zapytania w T-SQL czy jego rozszerzeniach jak MDX, DMX, itd.
4GL nie widziałem na oczy, nie znam systemu SAS, ale jeżeli pod spodem siedzi normalna, relacyjna baza danych, to obstawiam, że tak czy siak zapytania i funkcje z języków wyższego poziomu są tłumaczone na SQL i wykonywane przez RDBMS.
Hurtownie danych generalnie są tak tworzone, żeby "ogromnymi ilościami tabel/rekordów ", co osiąga się przez odpowiednie zasoby sprzętowe, odpowiednią konfigurację (np. indeksy na kolumnach używanych w klauzuli where) a przede wszystkim konstrukcję, czyli denormalizację oraz agregowanie wartości już w procesie wprowadzania danych do hurtowni (ETL), a nie w momencie wykonywania zapytania.
Przetwarzanie danych w SAS; Wioletta Grzenda, Urszula Zwierz, Aneta Ptak-Chmielewska (wersja 9.1) - tania, przejrzyście opisana książeczka polecana studentom jako dobry start. Resztę podam jak będę miał dostęp do “biblioteczki”