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.