Sphinx vyzývá Oracle

Je pro podnikový informační systém důležitější operační systém, nebo databázový server? Hloupá otázka, řeknet...


Je pro podnikový informační systém důležitější operační systém, nebo databázový
server? Hloupá otázka, řeknete si asi, obě komponenty jsou pro fungování
informačního systému klíčové. Samozřejmě, a proto si ji položme trochu jinak.
Kdo má šanci získat větší podíl z koláče utracených peněz za tyto systémy? Zde
je odpověď jasná. Přestože se Microsoftu podařilo prosadit Windows NT jako
standard pro firemní pracovní stanice a malé servery, na ty klíčové komponenty,
za které se platí nejvíce peněz, dosáhne málokdy. Naopak Oracle je se svým
databázovým serverem mnohem úspěšnější.
Pokud porovnáme množství produktů nabízených Microsoftem a počet prodaných
instalací se stejnými čísly u Oraclu a porovnáme obrat obou firem (2 : 1 ve
prospěch Microsoftu), dojdeme k závěru, že Oracle vydělává své dolary mnohem
snáze.
Většina příjmů Oraclu pochází z jeho databázového serveru, který má na trhu 50%
podíl. Kromě poplatků za licence sem musíme započítat i nemalé příjmy z prodeje
firemních databázových aplikací a ze služeb, jako je technická podpora a
konzultace.
Konkurenční produkt MS SQL Server dosáhl pouze 11% podílu na trhu. Mezi jeho
přednosti patří jednoduchost, dobrá integrace s Windows NT a rychlá odezva u
internetových aplikací. Jako konkurenta Oraclu ho však nikdo nebral příliš
vážně.
To by však měla změnit nová verze SQL Serveru s číslem 7, označovaná kódovým
jménem Sphinx (Sfinga), která bude k dispozici koncem roku. Z větší části
přepsaný produkt je nyní schopen zvládnout i terabytové databáze, ale může
pracovat i na notebooku. Zdá se, že tentokrát má Oracle skutečně silného
protivníka.
Novinky verze 7
Jak je dnes již pomalu u velkých softwarových firem zvykem, Microsoft nevyvinul
svůj SQL Server od základů, ale zakoupil před lety licenci od Sybase. Oba
produkty pak spolu byly dlouho kompatibilní. Nicméně Microsoft s vlastním
vývojem příliš nepospíchal (věnovalo se mu údajně pouze 10 vývojářů) a spoléhal
spíše na marketing a integraci SQL Serveru do rodiny BackOffice.
Při tomto přístupu musel pochopitelně Oracle získat značný náskok a proto se
vedení Microsoftu rozhodlo situaci radikálně změnit. Počet vývojářů se
zdesateronásobil (některé z nich Microsoft údajně přetáhl od Oraclu a IBM) a
byl podpořen odpovídajícím zázemím (testeři, tvůrci dokumentace atd.).
Úsilí nakonec přineslo své ovoce. SQL Server 7 má tolik nových rysů, že jde v
podstatě o nový produkt. Nicméně byla zachována plná kompatibilita, takže
existující aplikace by měly pracovat bez problémů.
Podobně SQL Server 7 se mnohem více přiblížil svým uživatelům, v tomto případě
správcům databází. Podstatně se zjednodušily administrátorské akce, které se
dělají poměrně často, i když ne tak často, aby si administrátor všechny detaily
pamatoval (např. vytvoření databáze). Nyní stačí spustit průvodce, jak to známe
z jiných produktů Microsoftu. Ostatně samotný nástroj pro správu databáze byl
zcela přepracován a integrován s dalšími produkty Back Office (pod názvem MS
Management Console).
Jak známo, u větších databází závisí jejich rychlost rozhodujícím způsobem na
vyladění indexů. To je do značné míry alchymie, protože někdy index pomůže,
jin-dy naopak škodí. Vyladění databáze vyžaduje spoustu testů a velmi zkušeného
administrátora, ovšem může ušetřit obrovské peníze na hardwarovém vybavení,
zvláště u obrovských databá-zí. Protože zkušených správců je málo, nabízí SQL
Server 7 pomocný program, který monitoruje provoz serveru, pak jej zanalyzuje a
navrhne, jaké indexy by měly být vytvořeny. Podobným nástrojem určeným pro
pokročilejší správce je analyzátor dotazů, který graficky zobrazí plán dotazu.
Je zde graficky zobrazen postup, jakým bude server při provádění dotazu
postupovat, jaké budou jednotlivé kroky a kolik času (resp. systémových
operací) by měly spotřebovat. Ostřílený matador v tomto schématu okamžitě najde
úzké místo, kvůli kterému trvá určitý dotaz mnohem déle než by měl, a odvodí,
jaké další kroky proto musí v indexové alchymii učinit.
Skeptici by řekli, že tyto nástroje nebyly u předchozí verze záměrně, protože
to, co by zobrazily, by bylo pouze k breku. Skutečně, optimalizace dotazů byla
slabou stránkou předchozí verze. V některých případech byly FoxPro a Microsoft
Access díky technologii Rushmore (průnik indexů) dokonce rychlejší. I to se
však radikálně změnilo.
Optimalizátor dotazů už průnikem indexů, hašováním a jinými základními
operacemi samozřejmě disponuje, obsahuje i některé pokročilé techniky, jako je
paralelní zpracování jednoho dotazu na víceprocesorovém počítači. Přes obrovské
vylepšení je však repertoár optimalizací o něco užší než u Oraclu (chybí např.
bitmapové indexy), i když se neodvažuji odhadnout, zda nejde o techniky
používané jen velmi zřídka
Pro vývojáře se kupodivu až tak mnoho nezměnilo. Přibyla podpora nových
databázových rozhraní OLE DB a ADO (které by měly nahradit ODBC), ovšem vlastní
jazyk serveru, Transact SQL, nedoznal žádných významných změn. To je jistě
dobré z hlediska kompatibility, ale na druhou stranu, Oracle používá
nesrovnatelně bohatší dialekt SQL. Díky tomu lze vytvářet aplikace, které
pracují přímo na oraclovském serveru, zatímco Microsoft dává přednost tomu, aby
komponenty takové aplikace (tzv. obchodní pravidla) byly napsány ve standardním
jazyce jako je C++, Java nebo Visual Basic a pracovaly jako "střední vrstva"
aplikace. To je dobré řešení pro běžné typy aplikací, ovšem při takové
architektuře nemůžete spustit vnější aplikaci (běžící mimo server) na základě
události (triggeru) v databázi. Konzultoval jsem tento problém na Tech Edu s
několika guru přes SQL Server, tvrdili mi, že to zpravidla nevadí. Já přitom
znám z praxe 2 případy, kdy je podobná funkce klíčová.
Databáze pro celou firmu
SQL Server 7 má 3 kompatibilní verze použitelné od notebooku s Windows 95 až po
multiprocesorové servery s Windows NT (jiné OS nepodporuje). Díky tomu lze u
všech firemních aplikací používat stejný formát databáze, stejné vývojové
nástroje a hlavně stejnou "bázi znalostí" u správců, vývojářů i uživatelů.
Podle mého názoru ukazuje SQL Server 7 přesně to, v čem je Microsoft
nejsilnější útok z druhé pozice. Vzpomeňte na Word, Access, Visual C++ nebo
Internet Explorer. Jakmile se v Redmondu rozhodnou, že je třeba dohnat náskok
konkuren-ce, věnují tomu obrovské úsilí. Zpravidla bodují díky jednoduchosti a
uživatelské přívětivosti, a tím přetáhnou spoustu uživatelů. Kéž by tohle uměl
i někdo jiný, třeba v oblasti operačních systémů. My uživatelé bychom na tom
jedině vydělali.
8 2178 / ram









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.