Polska Oraclem stoi
7 marca 2010, patyczak
Po serii artykułów na temat źle skonstruowanych przetargów na produkty Microsoftu, tym razem serwis Prawidłowe Przetargi Publiczne IT zwraca uwagę na kilka przetargów na oprogramowanie Oracle – również rozpisanych z uchybieniem przepisów Prawa zamówień publicznych.
1 marca Departament Informatyki i Telekomunikacji Narodowego Banku Polskiego ogłosił zamówienie na Zakup licencji oprogramowania Oracle wraz z roczną Asystą Techniczną i Konserwacją. W opisie przetargu czytamy m.in.:
1. Przedmiotem zamówienia jest zakup dodatkowych licencji Partitioning firmy Oracle Corporation wraz z usługą Asysty Technicznej i Konserwacji na 1 rok dla Narodowego Banku Polskiego na potrzeby eksploatowanych w NBP systemów informatycznych tj. SWAT i ZSK.
(…)
3. Dopuszcza się zaoferowanie produktu równoważnego do produktu określonego w ust. 1. Równoważność dotyczy licencji, oprogramowania i usługi. (…) Tu następuje opis warunków równoważności.
Co jest niewłaściwego w tym przetargu? Po pierwsze, Zamawiający już w tytule zamówienia podaje, o jaki konkretnie produkt chodzi – co jest niezgodne z art. 29 pkt. 3 Prawa zamówień publicznych. Po drugie, Zamawiający dopuszcza oferty równoważne jedynie teoretycznie, a świadczy o tym gotowy formularz protokołu odbioru, jaki znajdujemy w specyfikacji warunków zamówienia:
Niniejszym potwierdzamy dostawę:
1. Certyfikatu Licencji producenta oprogramowania Oracle, Certyfikatu usługi ATiK – producenta oprogramowania Oracle, Umowy i Licencji (forma papierowa), dających prawo do korzystania przez Nabywcę z ponizszych produktów:
Oracle Partitioning Enterprise Edition Option – named user license – 600 szt.(…)
O żadnej równoważności nie ma w ogóle mowy w przetargu ogłoszonym 2 marca przez Agencję Restrukturyzacji i Modernizacji Rolnictwa na Zakup licencji oprogramowania Oracle wraz z usługą wsparcia technicznego (ATiK).
W wymaganiach dotyczących umowy Zamawiający zamieszcza niezwykle konkretny zapis:
1. wykonawca oświadcza, że:
1). Producentem oprogramowania jest Oracle International Corporation z siedzibą 500 Oracle Parkway, Redwood City, California 94065 USA (…)
Na bazach Oracle opiera swoją pracę administracja wszystkich szczebli. Świadczy o tym np. przetarg ogłoszony 1 marca przez Urząd Marszałkowski Województwa Dolnośląskiego na Zebranie, zorganizowanie w odpowiednie struktury danych i integracja danych obejmujących część województwa dolnośląskiego (146 arkuszy), w ciągłą bazę dla potrzeb „Bazy Danych Topograficznych (TBD)” oraz import bazy do struktur Oracle Spatial, albo kolejny – ogłoszony 26 lutego przez Starostwo Powiatowe w Wołowie – którego przedmiotem jest Dostawa oprogramowania bazy danych Oracle 11G wraz z licencją Standard Edition One i z asystą techniczną.
Jest to jedynie kilka wybranych przykładów – podobnych przetargów pojawia się bardzo wiele. Tymczasem przypomnijmy, że Policja po wielu latach korzystania z baz danych Oracle (co kosztowało do 40 mln zł rocznie) doszła do wniosku, że bardziej opłacalne – i bezpieczniejsze – jest zaprojektowanie własnego systemu, do którego posiadać będzie pełne prawa, i nie będzie skazana na systematyczne odnawianie licencji.
Uprzedzając komentarze w tonie “co w tym złego że chcą Oracle skoro od lat z tego korzystają i jest to sprawdzone rozwiązanie”, “kto wie czy budowa nowego systemu nie okazałaby się droższa” – warto zauważyć, że sposób, w jaki ogłaszane są te i inne przetargi świadczy o tym, że alternatywne rozwiązania w ogóle nie są brane pod uwagę. Czyli klasyczne “vendor lock-in” – uzależnienie od jednego producenta/dostawcy oprogramowania: tym razem nie od “giganta z Redmond” lecz od “giganta z Redwood”. A najczęściej od obu naraz.
_ _ _ _ _ _ _
Znalezione w serwisie PPP IT. Jest on prowadzony w ramach projektu Fundacji Wolnego i Otwartego Oprogramowania pt. “Prawidłowe i transparentne przetargi publiczne na narzędzia informatyczne”. Projekt jest realizowany przy wsparciu udzielonym przez Islandię, Liechtenstein i Norwegię ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego, Norweskiego Mechanizmu Finansowego oraz budżetu Rzeczypospolitej Polskiej w ramach Funduszu dla Organizacji Pozarządowych.



Jak widzisz – chodzi o zakup dodatkowych licencji do istniejącej już infrastruktury.
To może dziwić, ale u nas jest takie prawo, że trzeba na wszystko ogłaszać przetarg. Nawet jeśli chcą zamówić dodatkowe licencje.
Dla ludzi, którzy nie rozumieją o co chodzi – nie, nie da się tego zrobić za pomocą otwartego oprogramowania. Potrzebują dodatkowych licencji do oracla, postawienie mysql im nie pomoże.
Dokładnie, mają sporą infrastrukturę na Oraclu, oprogramowanie korzystające z Oracla – potrzebują trochę sprzętu pod bazy dorzucić to nie mają innego wyjścia, poza tym trudno o lepszy system baz danych.
No i co z tego ? Sprawa dotyczy łamania prawa a nie wojny MS/Lin
PS Oracle jest mocno zaangażowany w FLOSS
i stawia na Linuksa.
Naprawdę uważacie, że tylko sformułowanie _niezgodne_ z prawem pozwoliło by temu użędowi zakupić licencje na Oracla ?
Pękły mi oczy od tego “użędowi”
pewnie nawet stronki WWW i liste płac stawiają na Win Server i Oracle, bo jak kasa z podatkow jest to czemu nie wydawac… A tymczasem ZUS pada
To może dziwić, ale u nas jest takie prawo, że trzeba na wszystko ogłaszać przetarg. Nawet jeśli chcą zamówić dodatkowe licencje.
To nie tak, to jest celowy zabieg – oni (NBP) mogą kupić Oracla nawet z wolnej ręki, zwalniając z z procedury przetargowej na podstawie art 64. UPZP, tylko że to jest z kolei przyczyną czepiania się ewentualnych kontroli. Pojęcie równoważności jest listkiem figowym, uniemożliwiającym podważenie w KIO procedury.
PPPIT może sobie narzekać i marudzić bo to nie ma skutków, jeśli te przetargi byłyby faktycznie niezgodne z UPZP wystarczyłoby je podważyć czego jednak nikt nie (z)robi.
@k
zgodnie z nowelizacja pzp nie jest to takie proste…
jednym z mankamentów nowych przepisów jest całkowite uniemożliwienie ingerencji podmiotów trzecich w tryb procedury odwoławczej… spowodowało to praktyczne unicestwienie monitoringu organizacji społecznych (fundacji i stowarzyszeń) gdyż ustawodawca nie pomyślał o takim rozwiązaniu…
Zresztą nie tylko ustawodawcy nie śni się monitoring organizacji pozarządowych :/
@wilk
IMHO całe działania pppit są źle ukierunkowane (“cała para idzie w gwizdek”), bo zakładają że SIWZy piszą debile. I mówiąc wprost, cieszę się że ustawodawca wyłącza możliwość udziału podmiotów trzecich w procedurach bo po co oni tam niby mieliby być, skoro nie znają warunków w firmie zamawiającej? Przetargu nie tworzą idioci (mimo iż często niesłusznie przyjmuje się takie założenie, zwłaszcza jeśli celem przetargu jest zakup sprzętu/oprogramowania do którego ktoś ma jakieś “ale”, jak chociażby w inkryminowanym przypadku).
600 licencji to spory koszt, dodatkowo tylko na rok, a po roku to znowu 600 albo 1000. Jeśli kiedyś nie powie się dość kupowania licencji bo MySQL jest za darmo to można w kółko wydawać pieniądze podatników.
Chcą support, więc MySQl też nie byłoby za darmo.
“Chcą support, więc MySQl też nie byłoby za darmo.”
Nikt nie proponował oferowania wsparcia za darmo, więc skończ z tym trollingiem.
Co za różnica, za co płacisz, za support, czy licencję? Ważna jest cena.
1. Tylko jak porównać ceny, skoro w przetargach nie dopuszcza się ofert innych producentów/dostawców? 2. W przypadku urzędów publicznych ważna jest nie tylko cena; równie ważna – jeżeli nie ważniejsza – jest kwestia bezpieczeństwa, związana z posiadaniem szerszych uprawnień do oprogramowania, niż licencjonowane “right to use”, np. z dostępem do kodu źródłowego.
1. Tak ale wtedy musiałbyś mieć oprogramowanie, które działa na dowolnej bazie. Nawet środowiska open source nie są skore do pisania czegoś takiego.
2. Rozumiem w wypadku systemu bankowego… ale w wypadku bazy danych? Nie jestem pewien, czy grzebanie w kodzie bazy przez admina to dobry pomysł. Retoryka, że wszystko musi być otwarte do mnie nie przemawia.
1 można to osiągnąć “bardzie zaawansowane orm’y” jednak jest problem z wydajnością bardziej skomplikowanych zapytań.
Po za tym na postgres’a bardzo ładnie przenosi się aplikacje oraclowe.
2. tja a grzebanie w systemie bankowym przez admina to pomysł wspaniały. Obudź się, chcesz aby krytyczne aplikacje były modfikowane przez kolesia którego roczne zarobki są ułamkiem dziennych obrotów?
“Po za tym na postgres’a bardzo ładnie przenosi się aplikacje oraclowe.”
Bardzo ładnie, o ile się wliczy w to kilkukrotny spadek wydajności. I brak supportu dla baz rozproszonych.
Outsourcing uniezależnia od dostawcy oprogramowania tj. po roku można zatrudnić inną firmę (przecież mamy kapitalizm) i jej zlecić prace nad funkcjami|poprawkami których potrzebujemy.
PS MySQL to nie ta klasa co Oracle
PSPS Naprawdę ONI mogli tak zorganizować ten przetarg aby:
a) dopuścić rozwiązania alternatywne (jak by nie spełniły wymagań to by ich przecież nie kupili prawda ?)
b) by zgodnym z prawem
c) zakupić wsparcie na Oracla (jeżeli okazało by się to najlepszym rozwiązaniem)
MySQL to nie jest serwer bazy danych, to jakiś żart, który nadaje się wyłącznie na blogi.
Jakie języki proceduralne obsługuje MySQL, nazywany przez niektórych “serwerem bazy danych”?
NBP na mysql ? Byłaby to bohaterska decyzja…
jeśli już lekkomyślność można nazwać bohaterstwem
MySQLem to faktycznie rzucają tu ludzie o małej wiedzy. Ale już postgre to dobry wybór do tej skali. Myślę, że dobrze by się sprawdził.
A wsparcie techniczne kosztowałoby zdecydowanie mniej, bo przynajmniej nikt nie ma monopolu na support do Postgre tak jak Oracle do swoich baz.
Poza tym najczęściej support który kupuje się u monopolisty to o kant d*py potłuc. Z Oracle jeszcze jakoś idzie wytrzymać, ale microsoft to wyrzucone pieniądze.
@veel: rozumiem, że jesteś chętny do sclustrowania mojego systemu bazodanowego na postgresie? Ile chcesz za porządny master-slave albo choć odrobinę wspomagający master-master?
Nie kłócę się że na Postgresie sie da za darmo, ale czy mógłbyś podać cenę (chodzi mi tylko o rząd wielkości) Twojego systemu? Bo zakładam że skoro clustry to enterprise pewnie, do tego Data Guard i kto wie co jeszcze. Licencje pewnie na socket?. Pytam z ciekawości bo pracuje akurat w firmie gdzie wszystko jedzie na oraclu i ceny nawet standard edition są niemałe.
Cena niestety pozostaje tajemnicą handlową (co samo przez się nieco mówi o jej wysokości).
NBP na Windows?! Niestety tak jest…
To też bohaterska decyzja.
Chociaż nie. Nie ma żadnego bohaterstwa w głupocie.
Tak jak armia USA, która instaluje Windowsy podczas gdy sama miała wpadkę zwiechy systemu z Redmont na krążowniku
(wysiadł główny komputer)
@przemo_li: Gwoli scislosci, w przypadku problemow z krazownikiem problemem bylo oprogramowanie chodzace pod Windows (ktore wykrzaczylo sie z powodu NULL-a w polu w bazie danych), nie samo Windows.
@veel – zasadniczo to moje stwierdzenie było sarkastyczne. A co do głupoty i bohaterstwa, imho granica pomiędzy nimi zazwyczaj jest płynna
@trash, możesz podać jakieś źródło? Bo i ile pamiętam to wtedy wchodził w rachubę bluescreen, ale mogę się mylić.
@blog.szsz.pl/: Pierwsze lepsze to angielska Wikipedia oraz artykul z Wireda, ktory nakrecil cala afere. Autor artykulu bardzo chcial obarczyc wina Windows, ale nie mogl zrobic tego nie klamiac, wiec opisal faktyczny problem (wysypanie sie aplikacji) i dolozyl wypowiedz pewnego nie zwiazanego z projektem wojskowego, ktory nie lubil Windows.
Hahhahahahahaa. To jakiś żart czy nie zrozumiałem sarkazmu i dałem się podejść jak dziecko?
Dyskusyjną kwestią jest, czy MySQL jest bazą danych (polemizowałem już kiedyś z ACID-em w jego wykonaniu, use google). PostgreSQL natomiast dopiero w 8.5 zacznie się bardziej ludzko replikować.
Więc rozumiem, że chciałeś w miejsce Oracle zaproponować MS SQL?
@gotar: W PostgreSQL też można polemizować z ACIDem. Na pewno nie jest to “matematycznie poprawny” ACID, o czym piszą nawet w dokumentacji. Nie wspiera pełnego poziomu izolacji serializable, a jedynie snapshot-serializable. Dla większości aplikacji nie stanowi to problemu, ale na pewno przy czymkolwiek związanym z pieniędzmi trzeba uważać.
Otóż to. Nie ma RDBMS-a OSS klasy enterprise. Nie wiem skąd się biorą tutaj ludzie, którzy z tym faktem polemizują. Pewnie użytkownicy MySQL, którym nigdy się tabela nie uszkodziła (co to w ogóle za polecenie ‘REPAIR TABLE’?). Postgres nadaje się do systemów entry-level i może jakichś midrange, na tym niestety koniec otwartych rozwiązań.
Ile razy można pisać newsy na ten sam temat? Rozumiem, że ustawianie przetargów boli, ale powoli zamienia się to w tasiemiec równie ciekawy jak “Moda na Sukces”.
Żywa dyskusja, jaką wywołują te newsy (co najmniej kilkadziesiąt komentarzy pod każdym z ich) świadczy o tym, że wielu czytelników wcale nie uważa tematu za nudny. PS. Nikt nie mówi o ustawianiu przetargów – to zarzut ciężkiego kalibru, na który trzeba mieć dowody. Chodzi o nieprawidłowe rozpisywanie przetargów, to różnica.
A ustawa jest dobra
Ot użędnicy nie dorośli do jej poziomu.
PPPIT stara się prowadzić szkolenia oraz wskazywać “złe” przetargi. A że mamy ich dużo …
Jak widać aż tyle mamy nieprawidłowości.
Dlaczego nie informować o każdej z nich?
Gdyby urzędnicy porządnie wypełniali swoją pracę, nie faworyzowali jednego producenta i tworzyli przetargi opisując swoje potrzeby, a nie konkretne produkty, to nie było by tematu. Albo słyszałbyś o nim raz na rok.
Akurat tu ilość ma znaczenie. Bo to otwiera oczy jak ogromne pieniądze są marnowane.
Nie mówiąc już, że mogłyby trafić do polskich firm, a nie znów wypłynąć za granicę.
Proszę zwrócić uwagę, że w pierwszym przypadku jest to przetarg na zakup licencji na opcję do bazy danych przez co jeśli jest to baza Oracle to licencja musi pochodzić od Oracle bo jest to dodatkowa rzecz do bazy danych. Jeśli chodzi o przetarg dla ARR to spy000yps dobrze to podsumował.
Nie wiem o co halo akurat w tej sprawie. Licensing Oracle jest tak skonstruowany ciekawie, że przy licencji “na usera” każdy użytkownik musi mieć swoją – przy czym “użytkownikiem” jest każda osoba korzystająca nawet nie bezpośrednio (tylko poprzez jakiś system skojarzony) z bazy. Zastanawia mnie jedynie, czemu nie kupili licencji na procesor, ale…
Generalnie sprowadza się do tego, że tego przetargu NIE DA się napisac inaczej. Sysdba chce dodać paru(set) userów do bazy i nie może sobie postawić obok np. Postgresa (jedyna baza OS o podobnych możliwościach) by mu tych 600 czy coś userów obsłużył. Jedyna inna opcja to wywalić całego oracla i zmigrować rozwiązanie na inną bazę.
Tyle, że to niemal niewykonalne. Najprawdopodobniej mamy tam do czynienia z rozwiązaniem opartym dość mocno o PL/SQL który jest zwyczajnie nieprzenośny (najbliższy mu PL/PgSQL jest jednak “trochę” innym językiem i portowanie nie jest łatwe, o językach procedur składowanych z Firebirda, MS czy MySQL’a nie wspominając). Koszt przeniesienia oprogramowania, następnie migracji danych to kasa nieporównywalnie większa od tych licencji, pomijam tu kwestie czasu (przez około rok tych kilkuset userów nie miałoby dostępu do systemu).
Wniosek – owszem, należało od początku budować system na Postgresie czy nawet na M$ SQL (tak, własnościowa, zbudowana przez paskudny Microshit ale ma o wiele bardziej elastyczny model licencjonowania niż Oracle i jest zwyczajnie tańsza, a przy okazji na tyle popularna że nie byłoby tak trudno znaleźć kompetentnych programistów i sysdba jak do Postgresa). Ale na obecnym etapie można już tylko robić facepalma i jechać dalej z tym co jest…
Jeden minus MS SQL czy PostgreSQL jest taki, że Oracle jest zwyczajnie od nich lepszy pod niemal każdym względem. Praktycznie nie ma firmy, która twierdziłaby, że zainwestowanie w Oracle okazało się złym pomysłem.
Uważasz, że firmy lubią przyznawać się do błędów i złych inwestycji? No to czas na pobudkę!
Pod względem liczby funkcji – tak, rzeczywiście z Oraclem trudno jest konkurować. Ale z tym drugim stwierdzeniem bym polemizował. Dopóki firma się rozwija i przynosi zyski, nikt nie kwestionuje wysokich nakładów na IT. Problemy pojawiają się w kryzysie, kiedy zaczyna się dokładne liczenie kosztów. Myślę, że niejedna firma wtedy się zastanawia, dlaczego Oracle ich tyle kosztuje, i dlaczego oni wykorzyrzystują go tylko do kilku tabelek na krzyż?
@LV
Co do tego, że Oracle jest lepszy od MS SQL 2005 nie ma wątpliwości … ale od momentu wprowadzenia przez MS SQL 2008 Oracle zaczął porównywać wszystko co ma do wersji 2005.
Ponadto znam już parę dużych firm, które zmigrowały SAP z Oracle do MS SQL 2008 ze względu na znacznie lepszą wydajność i mniejsze koszty(żeby było śmiesznej firmy, które z MS raczej dotychczas nie korzystały).
Devil
A ja znam firmę która reklamuję, że Oracle do pięt im nie dorasta
A ich nazwa to MicroSo…
Nawet 2008 nie jest lepszy od Oracla choćby dlatego, że Oracle nie narzuca Ci licencji na OS’a. Chcesz to masz to nawet na Cent OSie.
@Przemo_li
Hmmm … może ten argument byłby dobry … gdyby nie to, że w businessie nikt nie kieruje się ideologią tylko możliwościami produktu i wydajnością a SQL 2008 w tych względach rozłożył Oracle na łopatki i podeptał.
Devil
Tyle że to OS wybiera się pod używane oprogramowanie a nie na odwrót.
Pewnie! Dlatego Oracle proponuje farmy na Linuksie (bo te na Windowsie się bardziej opłacają
)
@przemo_li: Ostatnio proponuje bardziej na Solarisie.
Parafrazując: “mogłem tylko palić jointy ale walnąłem sobie herę i teraz muszę na tym jechać do końca świata i jeden dzień dłużej”. MSPANC.
Rozumiem racjonalny wywód, na miejscu adminów tych instytucji też wolałbym nadstawić d… robiąc niewłaściwy przetarg niż dać d… pozwalając się wyrzucić z pracy za niewypełnianie obowiązków. Ktoś kiedyś jednak musi się zebrać na odwagę i zrobić z tym syfem porządek. Na pewno nie zrobi tego admin.
Czyżby kolejne dziecko FLOSS? Do PostgreSQL nie ma nawet narzędzi do administracji na takim poziomie, jak oraclowe (phpPgAdmin czy PgAdmin III wyglądają jak zabawki).
Ale skoro twierdzisz, że można coś z tym zrobić, to ja mam dla Ciebie propozycję: za kilka miesięcy uruchamiać będziemy nowy system bazodanowy, oparty właśnie na postgresie. Moje zdanie o nim jest takie, że baza tego nie uciągnie, więc będzie trzeba to odpalić na clustrze. Podaj swoją cenę, aby skonfigurować system do wykorzystywania powiedzmy 4 fizycznych maszyn, każda z 4-8 procesorów, w celu równoległego działania. Bo ja – nie umiem.
Nie wiem czy jesteś administratorem czy programistą. Ale pisanie o Oraclu jakby był kolejnym cudem świata zaczyna już powoli drażnić. Zapewniam cię że jeśli zacznie się wykorzystywać tą bazę inaczej niż tylko jako worek na dane to też zaczynają z niej wychodzić niedociągnięcia.
Szczycenie się pojemnością bazy liczoną w setkach giga nie zawsze ma sens bo ważny jest charakter tych danych. Przez worek na dane rozumiem bazę gdzie ponad 90% danych leży w 2 tabelkach i zapytania wyciągające dane to proste selecty. Zaręczam Ci że przy 30GB bazie i setkach tabel po pare milionow rekordow oracle potrafi klęknąć szybko nawet na bardzo ładnym sprzęcie. I nie mówmy że baza ma pare tera jeśli 3/4 z tego to bloby które dla bazy nie mają większego znaczenia jeśli chodzi o wykonywanie zapytań.
Poszukaj sobie jak się potrafią wywalać materialized view (v10.2,v11.1), jak joby giną w takim stanie że trzeba kłaść bazę żeby go ponownie uruchomić(v11.1). Wersja 11g przypomina vistę. Support dziwił się że zainstalowano to produkcyjnie (przecież przed 2 sp się tego raczej nie robi – czyli wersją 11.2). Zupełnym śmiechem na sali jest żółć wylewana przez oraclowców na kaskadowe updaty i koronny argument – jeśli się zmieniło to masz źle zaprojektowaną bazę bo to nie jest pkey. A jeśli już naprawdę chcesz to zrób to na trigerach. I tak można w kółko. Proszę tylko o lekkie stonowanie entuzjazmu.
Zarówno jednym jak i drugim. I nigdzie nie wspomniałem o Oraclu, pierwszy raz używam tego słowa. Sam skomentowałem zachwycanie się nad zapewne MySQL-em jako kolejnym cudem świata, którym owe Oracle można by rzekomo zastąpić, więc nie wiem czemu pode mną podpinasz tę odpowiedź.
Wymieniłem jedynie dwie rzeczy, które z miejsca dyskwalifikują dwie popularne bazy. A cóż z tego, że Oracle ma JAKIEŚ ograniczenia na polach, których otwarte systemy W OGÓLE nie obsługują?
Jak ktoś ma ochotę przerzucać się na bugi i braki, to można długo wymieniać zapytania wywalające całego MySQL-a, postgresowe ręczne tworzenie 200 indeksów częściowych w celu ich spartycjonowania (indeksu, nie tabeli!) lub rzeźbienie 200 ruli, żeby to samo osiągnąć w tabelach dziedziczonych (bo klastrowanie trzeba powtarzać, co niestety zakłada locka), ale to wszystko jest daremne, bo darmowe bazy nie spełniają PODSTAWOWYCH wymagań.
Po co mi tu piszesz o materialized view, skoro ani mysql ani postgres ich zwyczajnie nie posiadają (nie, rzeźbienia na triggerach i ręcznego robienia sobie tabel z wynikami nie można nazwać MV)?
Pisałeś o tym czy ktoś się podejmie przerobienia Twojego systemu na inne db – założyłem że chodzi o oracle. Jeśli to inny db, to proszę wymień jaki. Odnośnie mv – ja nie pisałem o ograniczeniach, tylko o bugach. A jeśli już mówimy o partycjonowaniu, to faktycznie w postgresie jest to dosyć nieciekawie rozwiązane. Ale z drugiej strony w Oraclu ta funkcja występuje dopiero w Enterprise co dla mnie(i pewnie nie tylko dla mnie) praktycznie eliminuje ją z zastosowań ze względu na koszty. Zgadzam się z Tobą w jednym – podawanie mysqla jako przykładu zamiennika dla oracle to faktyczne nieporozumienie. Jeśli mówisz o nie spełnianiu podstawowych wymagań to chodzi Ci o ten nieszczęsny snapshot-serializable czy o coś jeszcze?
Pisałem o przerobieniu mojego systemu na postgresie na cluster postgresowy, skoro ktoś twierdzi, że można nim zastąpić oracle. Podstawowe wymaganie dla mnie to właśnie sensowna replikacja, zarówno ze względów wydajnościowych jak i awaryjności (i w przypadku tego, na co przetarg robi NBP, chyba nikt nie sądzi, że jest to jakiś zbędny bajer, koszt klasy high-end również jest z pewnością do przyjęcia).
@LM To nie jest takie proste niestety. W przypadku baz danych jak i innych komponentów na których zbudowane są systemy informatyczne, liczy się właściwie pierwsza decyzja. Jeśli system nie był pisany z myślą o wielobazodanowości (czyli bez wykorzystania żadnych specyficznych dla konkretnej bazy funkcji), to migracja zawsze będzie bardzo trudnym przedsięwzięciem.
Wydaje się, że nawet migracja części infrastruktury na inny system operacyjny jest zwykle prostsza niż wymiana takiego komponentu jak baza danych.
Oczywiście nie oznacza to, że należy tolerować tego rodzaju uzależnienie państwa od konkretnego producenta, zwłaszcza, że w 90% procent przypadków gdzie wybrany został Oracle wystarczyłby PostgreSQL a nawet czasem MySQL.
@gotar: my właśnie niedawno opracowaliśmy własną technologię robienia klastrów na Postgresie (multi-master, shared-nothing), bo żadno z rozwiązań open-source nie było zadowalające.
Cena: ~20 tys zł. Nadal o wiele taniej niż zakup Oracla.
Możesz mi dać jakieś namiary na siebie/firmę? Jeśli nie chcesz tutaj, to przez formularz kontaktowy na stronie spod mojego nicka.
piotrek {at} one2tribe /dot/ pl
http://www.one2tribe.pl
Tak się rodzi bizness
Panowie, można zachwycać się funkcjami Postgresa czy MySQL ich wydajnością itp. ale średniej wielkości (700G) baza Oracle radzi sobie bez problemu, natomiast tej samej wielkości Postgres czka jak małe dziecko. Nie mówię o wydajności zapytań, bo tutaj nie jest najgorzej, ale o wszelkich pracach administracyjnych jak indexowanie, backupy itp. Niestety maintenance baz open source jest jeszcze daleko w tyle za Oracle.
Narzędzi do administracją przez duże A, dla opensorcowych produktów tez jak na lekarstwo albo wcale.
Zresztą baza danych to nie tylko SQL ale również kod zapisany w db. To co oferuje Postgres z PG/SQL jest tylko ułamkiem możliwości PL/SQL i nie zapowiada się tutaj żadna poprawa.
Narzędzia przez duże A bywają, ale nie open source
Co do wydajności: zaciekawia mnie, dlaczego Sun, swego czasu bogata firma, nigdy nie zasponsorował żadnego benchmarku TPC dla MySQLa!
Zgaduję. MySQL nie spełnia wymagań odnośnie ACID do wykonania benchmarku TPC-C a w TPC-H poległby sromotnie?
Prawdopodobnie masz rację. Z drugiej strony “rozwiązania zoptymalizowane pod MySQL” oferowane niedawno przez Sun, a nie poparte standardowymi benchmarkami, wyglądały średnio poważnie. Czy MySQL na RISC big iron dalej wypadałby słabiej niż n.p. Microsoft na sprzęcie klasy PC (x86)? A może chociaż MySQL na sprzęcie klasy PC miałby więcej mocy/$?
Sprzęt to jest kwestia różnic wydajności mniej więcej w zakresie jednego rzędu wielkości (np. dyski SAS kręcą się tylko 2 razy szybciej niż zwykłe dyski SATA – a szybkość dysku ma kluczowe znaczenie w dużych bazach danych). Natomiast pomyłka optymalizatora planów zapytań może Cię kosztować spadkiem wydajności kilka rzędów wielkości większym. MySQL ma zabytkowy, regułowy planner zapytań, nie potrafi robić złączeń inaczej niż przez pętle zagnieżdżone, nie potrafi układać innych planów niż liniowe (left-deep trees), nie mówiąc już o takich zaawansowanych rzeczach jak zamiana podzapytań skorelowanych na złączenia… Stąd prawdopodobieństwo doboru słabych planów rośnie bardzo szybko wraz ze wzrostem stopnia złożoności zapytania. Benchmark TPC-H ma zapytania czasem z 8 złączeniami i dwoma poziomami podzapytań. To jest typowy benchmark męczący optymalizator zapytań.
Dlatego myślę, że przy złożonych zapytaniach, nadal MySQL wypadałby blado, niezależnie od sprzętu. Zdarzało nam się, że duże zapytania, które PostgreSQL wykonuje w kilka sekund, w MySQLu musieliśmy przerywać, bo po godzinie nie otrzymaliśmy wyników.
To niestety prawda, w większości systemów wymiana bazy danych jest jedną z najcięższych rzeczą do przeprowadzenia. Tym trudniejsze jest to, im bardziej “okodowana” jest ta baza – i nie mówię tylko o procedurach składowanych, ale i o trendzie upakowywania funkcji serwera aplikacji w serwerze bazodanowym. Rozdzielenie i przeportowanie logiki aplikacji na inną platformę może być cokolwiek problematyczne. Testowanie logiki biznesowej zawartej w procedurach składowanych jest cięższe i bardziej czasochłonne niż w przypadku języków ogólnego zastosowania. Dobrym rozwiązaniem są frameworki ORM (np. (n)Hibernate), gdzie logika aplikacji pozostaje w języku ogólnego zastosowania, zaś tłumaczeniem zapytań i poleceń na specyficzne dialekty SQL zajmuje się sam framework.
ORM ma sporo minusów, w tym właśnie przeniesienie logiki na poziom aplikacji. ORM-y są wolne, nie dają odpowiedniej kontroli etc. Logika po stronie bazy pozwala znacznie uprościć wiele rzeczy i uczynić bardziej odpornymi na błędy. Szczególnie PL/SQL Oracla daje tutaj olbrzymie pole do popisu.
ORMy mają sporo minusów i sporo plusów.
“ORM-y są wolne”
Potrafią być wolne jak się nie wie co się robi i ma się słabe połączenie między aplikacją a bazą. W zadziwiającej liczbie zastosowań są wystarczająco szybkie.
“Logika po stronie bazy pozwala znacznie uprościć wiele rzeczy”
I skomplikować inne. Np. wersjonowanie kodu.
“uczynić bardziej odpornymi na błędy”
Odporność na błędy kodu PL/SQL i kodu np. C#/Java z użyciem LINQ/Hibernate jest raczej podobna (w przeliczeniu na LOC), choć skłaniałbym się ku twierdzeniu, że PL/SQL jest językiem niższego poziomu, a co za tym idzie – więcej kodu jest potrzebne aby wykonać dane zadanie. Więcej kodu = więcej potencjalnych błędów.
To jest stary trade-off, elastyczność vs wydajność; przenośność i testowalność vs niskopoziomowa kontrola i optymalizacja. Kiedyś to samo mówiono o środowiskach zarządzanych (Java, .NET). I co prawda nadal jest sporo zastosowań gdzie wydajność jest ważniejsza (desktop!), to jednak tysiące firm zdecydowało poświęcić wydajność i niskopoziomową kontrolę w imię większej elastyczności, i zaimplementować swoje systemy w językach zarządzanych.
AJ: Nie wiem jak java/.net ale w założeniu te programy są powolne tylko przy uruchamianiu, a później w locie się optymalizują..
Zgadza się, kompilacja do kodu maszynowego odbywa się na żądanie (JIT), co spowalnia działanie tylko przy pierwszym uruchomieniu danego fragmentu kodu. Wygenerowany kod maszynowy pod pewnymi względami (tylko niektórymi) może mieć nawet lepszą wydajność niż standardowa, natywna aplikacja; może zostać np. zoptymalizowany pod konkretny procesor; środowiska uruchomieniowe wykonują także automatyczną defragmentację zarządzanej pamięci. Jednak to co całkiem dobrze sprawdza się na serwerach, niekoniecznie przyjęło się na desktopach. Przyczyny mogą być różne – powolne uruchamianie, ociężałe wyświetlanie i odświeżanie, niechęć użytkowników do instalowania frameworków – faktem jest, że w ciągu ostatniej dekady Java czy .NET nie zawojowały desktopów.
Akurat ten news jest bez sensu. Zalozmy, ze NBP ma wszystko postawione na MySQL-u. Jest wiec cacy.
Ale po 10 latach przetarg bylby na “usluge XYZ do _MySQL-a_”. Chyba jest jasne, ze jak jezdze VW to chce kierownice pasujaca do mojego samochodu, a nie do dowolnego, nawet jesli ta druga mozliwosc okazalaby sie tansza.
Zauważyłeś że nie wymieniasz firmy z nazwy?
Skoro MySQL to nie wymienienie z nazwy, to wpisanie Oracle w zamowieniu to takze brak nazwy.
Niezupełnie. MySQL jest na GPL, więc każdy może założyć firmę, więc usługa “dorzucenia” 20 nowych maszyn na MySQLu może być wykonana przez kogokolwiek, kto się na tym zna. Nie jest określona konkretna firma zgarniająca haracz (za licencje). W przypadku Oracla, musisz dodatkowo zapłacić haracz konkretnej firmie.
Niech teraz wszyscy piszący podobne newsy, zapoznają się z procedurą przetargową, wykonają papiery przetargowe (chociaż sam siwz), zrobią taki przetarg i zobaczą co dostaną w ofertach.
Przy otrzymaniu dostaw sprzętu i oprogramowania radzę sprawdzić co się dostaje. Bardzo dokładnie. Czasami są takie niezgodności dostawy z tym co się zamawiało, że po prostu ręce opadają. Duże rozwiązania kupuje się na lata i musi być to solidne rozwiązanie. Często oprogramowanie opensource nie oferuje niektórych rozwiązań które są w komercyjnym. Jeśli ktoś nie wie jakie to znaczy, że się nie zna po prostu. Wracając do tematu opensource w administracji. Nikt przecież nie będzie ogłaszał przetargu na zakup oprogramowania GPL. No litości. Każdy informatyk z IQ większym niż u płyty chodnikowej ściąga to z netu. Używanie Centosa, Debiana, *BSD, openoffice jest naprawdę powszechne. Większość moich serwerów jest właśnie na debianie i migruję je pokolei na centosa (wyższość jednego na drugim nie jest przedmiotem dyskusji). Jeden serwer mam na win 2003 bo się nie dało inaczej i tyle w tym temacie.
Płaczecie, że kupują office. We wrocławskim urzędzie wojewódzkim używają komputerów z win95 i offcie 97. Ten sprzęt zaczyna być groźny dla zdrowia powoli. Czytając wasze komentarze mam wrażenie. że piszą je osoby które nie pracują i nie wiedzą jak należy kupować. Czyli nie najtaniej bo się kupuje badziewie, a biednych ludzi nie stać na kupowanie badziewia. Tylko kupuje się solidne rzeczy za rozsądne pieniądze. A kupowanie sprzętu i czegokolwiek w drodze przetargów publicznych to mi wierzcie jest kupowaniem najtańszego badziewia którego nikt z was nie wziąłby do domu z dopłatą. Będziecie mogli pogadać ze mną na temat przetargów jak zrobicie przynajmniej 3.
Najlepsze życzenia dla wszystkich naszych pań.
Podpisuję się rękoma i nogami
admin_z_budzetowki, zgadzam się z tobą, jednak wiem też jakie podejście jest prezentowane przez działy IT w tzw. budżetówce.
Nie zmienia to jednak faktu, że samo wskazywanie błędów nie wyeliminuje zjawiska.
Po tym projekcie (serwis Prawidłowe Przetargi Publiczne IT) spodziewałem się wskazówek dla administracji. Np. jak napisać specyfikację aby kupić dobry sprzęt. Nie koniecznie najtańszy. W którym nie rozsypią się np. dyski twarde po trzech miesiącach, w połowie zakupionych maszyn (oczywiście jest gwarancja ale problemy z utratą danych też są kosztowne a przede wszystkim czasochłonne).
Awarie?..Jak napisać?… po prostu wszędzie gdzie jest to możliwe migrować z rozwiązań PC serwery na [terminale graficzne] serwery
Taki mamy system zamówień publicznych, że do określenia przedmiotu zamówienia trzeba przy specyfikacji dodawać lub równoważny… System zamówień publicznych jest tak skontruowany, że chroni głównie wykonawcę, a realia budżetowe stawiają zamawiającego pod ścianą.
Urząd Skarbowy-Podgórze w Krakowie ma kilkaset chyba komputerów na Linuxie i korzysta z Open Office’a.
Cenna uwaga. Podobno najlepszą gwarancją, że zakupiony sprzęt rozsypie się po trzech miesiącach, jest wpisanie w warunkach przetargu, w dziale “kryteria wyboru ofert”: “cena – 100%”, a tak robi b. wielu Zamawiających. PS. Jako jeden z redaktorów serwisu PPP IT proszę na przyszłość o zgłaszanie wszelkich sugestii bezpośrednio do nas; wtedy na pewno do nas dotrą. Co do tej konkretnej sugestii to serwis PPP IT poświęcony jest w zamyśle przetargom na oprogramowanie, nie na sprzęt, ale niewykluczone, że i ten temat pojawi się na tapecie, skoro jest zapotrzebowanie.
“(…) kryteria wyboru ofert”: “cena – 100%” (…)”
A przepraszam, CO ma tam wpisać? Ale konkretnie, zgodnie z UPZP proszę odpowiedz CO mogę tam innego wpisać i nie wysypać przetargu?
Zapotrzebowanie jest:) O ile warunki na oprogramowanie są dość proste do opisania o tyle już na sprzęt nie jest to takie proste. Tak na prawdę powinno się zamawiać sprzęt pod konkretne zastosowania np. do obsługi danego programu. Aby to robić rzetelnie powinno się powoływać na niezależne testy (może zaczniecie takowe publikować?). Jak już jesteśmy przy testach to wiem, że przegrane strony odwołując/skarżąc się, wskazują na brak uprawnień do prowadzenia testów etc.
To jest tak na prawdę sytuacja bez wyjścia.
Zamawiający nawet jak chce dokonać wyboru bez wskazywania producenta sprzętu, nie kupując przy tym badziewia z którym potem będzie się męczył przez cały okres gwarancji wymieniając co chwilę, to tak na prawdę nie ma wyjścia i pisze nazwy producentów dodając lub równoważne. Tylko jak ocenić tę równoważność. Właściwie każdy taki przetarg jest do uwalenia.
Przecież ten artykuł jest bez sensu, jak ktoś chce dokupić Partition’ing czyli opcje do już posiadanej bazy to trochę trudno wybrać innego dostawce. Autor powinien się zastanowić co pisze, albo ktoś to moderować bo to już któryś bez sensu artykuł…
Nuda,
- nuda…
…nuda – to już było tyle razy i co?
NIC – tylko biadolicie.
- co z tego że może nie lubicie Oracle, Sybase, Microsofcika…
- nie zapominajcie o Google, IBM, HP, DELL, EMC, VMWare, Yahoo, etc.
Dlaczego nie oprotestowaliście tego przetargu?
Dlaczego nie złożyliście oferty równoważnej na MySQL czy PostgreSQL?
Dlaczego zapominacie, że są inne bazy – np. Firebird czy ApacheDerby?
Dlaczego nie pracowaliście z Klientem wcześniej by go wyedukować i przekonać do własnych racji, razem z opcją migracji?
Po co ten cały i ciągły lament – dlaczego uważacie, że wiecie lepiej od Adminów, którzy muszą to latami i codziennie utrzymywać w ruchu?
Ja uważam, że przytoczone zapisy są jak najbardziej prawidłowe, zapewne sformułowane w jak najlepszym interesie Klienta czyli NBP i szczerze mówiąc wolę płacić z moich podatków także co roku na maintenance Oracle czy dowolnej innej, prawdziwej, komercyjnie wspieranej a więc biznesowo bezpiecznej bazy danych, które pomoże w sprawnym działaniu instytucji życia publicznego bo dzięki temu kolesie z kierownictwa tej czy innej instytucji mogą się zając swoimi merytorycznymi czynnościami, a nie gaszeniem pożaru po mojej ulubionej bazce MySQL czy PostgreSQL, która właśnie się rozjechała… – no zawsze można jeszcze to rozwiązać sprzętowo, pewnie że każda wydajność i bezpieczeństwo jest do realizacji w warstwie niższej czyli na gratach, tylko jakim kosztem…
Każdy zdrowy na umyśle Vendor robi jakiś lock-in bo z tego żyje (Volvo, Boeing, Sony, Siemens, Bosch, Apple, BMW, Honda, Suzuki, etc), w szczególności zaś kto ma bazę ten ma dane, więc trzyma Klienta za klejnoty i nie ma się co dziwić, że Klient woli taki lekki, ale dobrze znany ucisk niż ostrą zabawę z nieznajomym, który nie dość, że sam publicznie głosi, żeby dać wszystko i wszystkim za darmo, to jeszcze może być nosicielem kod jeden wie tylko ilu kłopotliwych schorzeń we własnej implementacji, które niby nieszkodliwe, bynajmniej nieterminalne i tylko troszkę przewlekłe, to jednak w prawdziwym życiu bardzo przeszkadzają.
Jestem prawie pewien, że jak już się zdecydujecie, to założycie firmy i zrobicie z tym wszystkim prawdziwy porządek, więc nie ma co narzekać tylko zbierać cenne doświadczenia u znienawidzonych vendorów od lockinów, które potem całe życie będziecie za darmo rozdawali. I ja sam też bym tak chciał, tylko że mam jeszcze hipotekę, bo gdzieś trzeba było zamieszkać gdyż narazie model opensource w budownictwie oznacza tylko schroniska lub dworce, więc wybrałem komercyjne rozwiązanie, które też pewno jest dalekie od ideału, ale za to wiem gdzie mam zadzwonić jak nie działa winda, nie ma ciepłej wody czy zapchały się kubły na śmieci i wiem, że codziennie od 8 do 18 ktoś ten telefon odbierze, zrozumie co do niego mówię, oceni temat i zareaguje w ciągu kilku godzin albo dni, dzięki czemu mogę robić dalej to co robię i nie muszę się uczyć jak naprawić wodociąg przy 20 stopniowym mrozie.
Tak jak my wszyscy, Admini z Publica też nie lubią marznąć bez potrzeby, więc wybierają komercyjne rozwiązania ze wsparciem, żeby w razie kłopotów mieć sprawdzonego partnera do rozmowy, którego zobowiązuje do tego umowa, nie zaś tylko radosną i sympatyczną grupę entuzjastów dla których jednak czas ludzi i pieniądz w kontekście TCO jako kosztów całej firmy jest pojęciem nieco umownym.
W przypadku OS baz danych też masz komercyjne *wsparcie* (licencja nie ma tu nic do gadania).. Nie wiem jak takie darmowe/niekomercyjne miało by wyglądać..
Fora? Ale jeżeli nie da się w łatwy sposób przerzucić danych na inną bazę albo jest ona nie wystarczająca do takich zastosowań to nie trzeba się dziwić że autorzy przetargu chcą mieć bez cyrków (i tak pewnie nikt inny by się nie zgłosił)..
Dlaczego uważa się, że Oracle działa tylko i wyłącznie na MS Windows? Jak dobrze się rozejrzeć (zdjąć nieco klapki z oczu), to się okaże, że Oracle jest dedykowany na systemy UNIXowe (te klasy enterprise; Oracle zauważył linuksa około roku 2000). Myślę, że taka instytucja jak NBP korzytsa jednak z systemów UNIXowych, dostosowanych do “hurtowego” przetwarzania danych. Zresztą o ile można się zorientować to długo jeszcze MS nie wstrzeli się w rynek enterprise…
@Kubuś
MS działa na rynku enterprise bardzo mocno problem był jednak w tym, że MS SQL 2000 i 2005 nie miały nawet połowy funkcjonalności Oracle i stąd były wybierane w przypadkach “Low Cost Enterprise Solution”.
Od momentu wejścia MS SQL 2008 sytuacja mocno się odwróciła.
Nie tak dawno kolega miał okazję przeprowadzać migrację z Oracle na MS SQL 2008, dużo korporacji migruje SAP R3 na MS SQL 2008 … z banków np mBank korzysta z MS (http://www.microsoft.com/Casestudies/Case_Study_Detail.aspx?casestudyid=4000005816).
Banki korzystają z systemów Unix nie z jakiegoś tam widzimisię tylko dlatego, że dużo systemów do wymiany informacji pomiędzy bankami stoi na systemach *nix.
Devil