Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases'
Title:     Re: Big database
Date:      Tue Apr  6 09:55:31 1999

> > Tady ma Sybase svoji ojedinelou technologii v  databazovem serveru
> Adaptive 
>  No, nevim, zda ojedinelou, myslim, ze Oracle ma podobny server pouzivajici 
> neco takoveho, jina vec je, ze jsou snad o neco malo pomalejsi.

No... Mas pravdu jen z casti...
(jak vidim, je zajem taxe do toho dam ;-)

Adaptive server IQ (IQ) pouziva dve celkem fikane technologie - jednak je to 
jiny zpusob ukladani dat - PO SLOUPCICH a druhak je to tzv. bit-wise indexing 
(to je  to,  co je patentovane).

Oracle nyni zahrnul do sve databaze 8i tzv. bitmap indexy - neco, co se 
trochu blizi bitwise indexum, ale ma to dve nevyhody - tato indexova 
struktura je ulozena vedle jlasickych db struktur a konkretni data jsou 
ulozeny v klasickem formatu. Tady je videt rozdilny pristup mezi Sybase a 
Oraclem - Oracle ma jediny db server pro vsechny typy aplikaci (jak 
transakcni, tak DSS), kdezto Sybase ma na specielni problemy specializovane 
nastroje. Oba pristupy maji sve klady i zapory. Nicmene nyni k IQ...

1) ulozeni dat po sloupcich
Rychlost databazoveho serveru je vzdy urcena tim, jak pracuje s disky - 
kolikrat musi pristoupit na hdd aby dostal pozadovany vysledek. Tam vznikaji 
nejvetsi prodlevy. DB servery toto resi ruznymi cachemi apod.
Klasicke databazove servery majui data ulozeny po rdcich - vzdy cely radek z 
tabulky je ulozen pohromade. V pripade dotazu pres celou tabulku (count (*)) 
dojde tedy k precteni UPLNE VSECH dat v tabulce. Naproti tomu ma IQ ulozeny 
data po sloupcich - pri takovemto dotazu by tedy stacilo precist jen napr. 
primarni klic tabulky (jeden sloupec) - a zrychleni je na svete.
Tady musim rici, ze takovyto druh dotazu ('prurezovy') je prave typicky pro 
DSS aplikace. U transakcnich aplikaci se vetsinou jedna o pristup na vice 
atributu jednoho radku, takze tam je rozhodne lepsi ulozeni po radcich.

2) bitwise indexy
IQ neuklada data, ale jejich indexy - ma nekde ulozenu tabulku hodnot, a 
uklada pouze indexy k ni - napriklad u sloupce 'barva', ktery muze nabyvat 
dejme tomu tri hodnot (cervena, zelena a zluta) uklada IQ tuto tuto informaci 
pouze do 3 (!) bitu (jeden pro zlutou, druhy pro zelenou a treti pro 
cervenou) - uz jen timto se masivne urychli beh IQ, ale v pripade dotazu na 
radky s barvou= cervena, se cte POUZE JEDEN BIT (ten, co odpovida cervene) na 
radek (v pripade zase nejakeho count-u). Takoveto ulozeni dat (po sloupcich a 
pouze indexy) umoznuje data ve sloupcich efektivne kompresovat - proto ma 
vysledna databaze cca 80% objemu zdrojovych data (zmensebi celkoveho objemu = 
dalsi zrychleni). Na druhe strane ale IQ ma ponekud 'nechutne'naroky na HW - 
podle instalacni prirucky potrebuje na UNIXu  512 MB RAM jen pro sebe a cca4 
GB swapu (ja jsem to rozebeh i na SUN LX s 32 MB RAM, ale pak jsem uvaril 
disk se swapem :-)))). 

> > Server IQ - diky patentovanemu ukladani dat dojde k neskutecnemu zrychleni
> > dotazu (jde to pry az do nekolika_set_krat rychlejsich odezev) a zaroven 
> > dochazi ke ZMENSENI databaze na velikost nizsi nez je velikost zdrojovych
> > dat 
> > - z 20GB na, dejme tom, 18GB. Ale updaty techto dat nejsou zas tak rychle
> a 
> > prodo je to spose databaze pro DSS aplikace - tedy tam, kde se pres noc 
> > nalejvaji data a pres den se z nich jenom cte.
>  Ony updaty nejsou totiz vubec. Sybase IQ podporuje ze zakladnich operaci 
> akorat select, delete a insert - tedy tahle database a programovani pod ni
> je 
> uplne o necem jinem. 

S tema inserty je to u IQ 11.x problem - pri nalejvani dat se cela databaze 
zamcena - proto take na IQ 11.x nejdou udelat TPC-D testy - ty vyzaduji 
soubezny zapis a cteni.

Co se tyce napriklad ulozenych procedur apod. - jde to udelat, ale neni to 
trivialni. Stejne tak vytvareni databazove struktury plne odpovida tomu, ze 
se jedna o DSS databazi  - musi se definovat pri nacrhu databaze ocekavana 
kardinalita sloupcu apod. Ale to se musi delat u kazde DSS aplikace...

CO se tyce tech selectu - tak ty  jsou uplne stejne jako v transakcnich 
databazich - na rozdil od jinych DSS-only db serveru.

Dale jsem mel moznost dostat do paratku novou verzi IQ - verzi 12. Ta uz 
takovymi neduhy netrpi - daji se tam definovat ulozene procedury, uzivatelske 
funkce a dokonce lze ve viceuzivatelskem rezimu konecne zapisovat a cist 
zaroven (jsem zvedavej na ty TPC-D testy :-). Dokonce ta IQ 12 dokaze tzv. 
multiplex - vice HW stroju pristupujicich do sdileneho diskoveho pole se 
spolecnymi daty...

(doufam, ze jsem nikoho neotravil) 

>         Krysa
>                 rat@atrey.karlin.mff.cuni.cz              Jsem Krysa
>                 http://atrey.karlin.mff.cuni.cz/~rat

Bye

Medved

...a nejhorsi ze vseho jsou trpaslici.

Search the boards