Paper!
From: Primoz Pecar [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 26, 2008 11:38 AM To: 'Miloš Marjanovič' Subject: RE: Prijava teme ZVRS - Primerjava hitrosti podatkovnih baz MS SQL 2005, MySQL in SqLite V papirnati obliki. LP, Primož Pečar From: Miloš Marjanovič [mailto:[EMAIL PROTECTED] Sent: Monday, February 25, 2008 4:37 PM To: 'Primoz Pecar' Subject: RE: Prijava teme ZVRS - Primerjava hitrosti podatkovnih baz MS SQL 2005, MySQL in SqLite Pozdravljeni. Na kakšen način lahko oddam seminarsko? Lahko preko maila ali mora biti v papirni obliki? Hvala in lep dan še naprej. Miloš From: Primoz Pecar [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 13, 2008 12:31 PM To: 'Miloš Marjanovič' Subject: RE: Prijava teme ZVRS - Primerjava hitrosti podatkovnih baz MS SQL 2005, MySQL in SqLite Sprejeto. LP, Primož Pečar From: Miloš Marjanovič [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 13, 2008 11:55 AM To: [EMAIL PROTECTED] Subject: Prijava teme ZVRS - Primerjava hitrosti podatkovnih baz MS SQL 2005, MySQL in SqLite Pozdravljeni. Za temo seminarske pri predmetu ZVRS sem si zamislil sledeče: Naj opišem ozadje: Pri enem projektu, katerega izvajalec sem, je potrebno v najkrajšem času v bazo insertati različno število dolgih vrstic (veliko polj in veliko znakov v poljih), kjer se število vrstic zelo spreminja (med 10 in 10000). Zahteva po insertih se lahko zgodi tudi večkrat v eni sekundi (tudi več naenkrat). Vrstice za insert aplikacija prejme v formatu XML. Pojavilo se je vprašanje, katera baza je najhitrejša? Zavedam se, da ta podatek vsak proizvajalec objavlja na svojih straneh in je bil objavljen na že veliko testih ampak jaz imam zelo specifičen problem. Baza teče na točno določenem serverju (določena oprema), XMLji pa so lahko zares ogromni, zato menim da je moj problem popolnoma specifičen in moram opraviti test za točno ta problem. Zamislil sem si naslednji način testa. Iz Windows aplikacije bi preko ADO.NET vmesnikov (najbolj razširjeni vmesniki za dostop do zgornjih podatkovnih baz danes) izvajal inserte XMLjev v identične tabele v različnih bazah. Velikosti XMLjev bi se spreminjala (recimo 10,100,1000,10000 zapisov). Tako bi dobil primerjavo časov za različno velike XMLje. Spreminjal bi se tudi način zapisa. Pod način zapisa imam v mislih naslednje tri načine: 1. Insert vsake vrstice posebej iz aplikacije (aplikacija pripravi INSERT stavke iz XMLja) in jih enega po enega poganja. 2. Insert vsake vrstice posebej iz aplikacije (aplikacija kliče stored proceduro v bazi) 3. Pošiljanje celotnega XMLja v stored proceduro, kjer procedura sama razbije XML na dele in izvede inserte. Na ta način stestiram, kateri način je zame najbolj ugoden: 1. Veliko klicev, ki jih opravi aplikacija na bazo, baza mora stavek še semantično in sintaktično pregledati. Klic je majhen (majhna količina podatkov) 2. Veliko klicev, ki jih opravi aplikacija na bazo, baza ima stavek za insert že pregledan. Količina prenešenih podatkov je majhna. 3. En klic, prenos velike količine podatkov, procedura je shranjena na nivoju baze. Parsanje XMLja na nivoju baze in veliko hitrih insertov na nivoju baze. Istočano bi testiral tudi vpliv sočasnoti zahtev: 1. Samo ena zahveva naenkrat - nova zahteva lahko pride samo, če je prejšnja že izvedena 2. Več zahtev v eni sekundi - več pomeni največ 10. 3. Več zahtev sočasno (skoraj sočasno če sem natančen) - več pomeni največ 5. Testiral bi naslednje podatkovne baze, ki so dostopne zastonj na trgu: * MsSQL Server 2005 Express Edition * MySQL 5.0 * SqLite Jaz menim, da je tema zelo primerna za ta predmet, poleg opravljene seminarske pa bom dobil tudi točen odgovor na moje vprašanje - katera baza je najhitrejša? Prosim, da potrdite prejem tega mail-a in seveda sporočite ali tema ustreza. Hvala in lep dan še naprej, Miloš Marjanovič 63020103
