Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov
|
|
- Kaja Babič
- pred 5 leti
- Pregledov:
Transkripcija
1 Smetanova ulica Maribor, Slovenija Rajko Bunderl Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Diplomsko delo Maribor, september 2015
2 II Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Diplomsko delo Študent: Študijski program Mentor(ica): Lektor(ica): Rajko Bunderl VS Računalništvo in informacijske tehnologije doc. dr. Milan Ojsteršek Nina Skube prof. slov.
3 III
4 IV ZAHVALA Zahvaljujem se mentorju doc. dr. Milanu Ojsteršku za pomoč in vodenje pri nastajanju diplomskega dela. Posebna zahvala velja družini, ki mi je nudila podporo in mi omogočila študij.
5 V Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Ključne besede: podatkovne baze, NewSQL, NoSQL, VoltDB UDK: (043.2) Povzetek: V diplomski nalogi smo predstavili osnovne koncepte podatkovnih baz NoSQL in NewSQL. V obeh skupinah smo predstavili njihovo arhitekturo in našteli njihove pripadnike. Podrobneje smo se osredotočili na podatkovni sistem VoltDB. V praktičnem delu diplomske naloge smo za potrebe analiziranja uporabili podatke podatkovne baze nacionalne infrastrukture odprtega dostopa. Podatkovna baza je sestavljena iz metapodatkov o publikacijah in njihovih avtorjih. Naš cilj je bil analizirati razširljivost podatkovne baze VoltDB ter hitrosti izvajanja transakcij po določenem iskanem nizu. Filtri iskanja nam na podlagi podanega iskanega niza filtrirajo najpogostejše metapodatke ter jih razporedijo v določeno strukturo najpogostejših zadetkov. Pri veliki količini podatkov narašča časovna zahtevnost ustvarjanja posameznega filtra. Za analiziranje smo uporabili čase izvajanja transakcij na enem strežniku ter jih primerjali s časi, ko je podatkovna baza razširjena na dveh strežnikih. Ugotovili smo, da z razširljivostjo VoltDB-ja na dva strežnika pohitrimo časovno zahtevnost izvajanja transakcij.
6 VI Usage of NewSQL databases for processing of big data Keywords: databases, NewSQL, NoSQL, VoltDB. UDK: (043.2) Abstract: In the diploma thesis we present basic concepts of the NoSQL and NewSQL databases. We present both architectures and their representative implementations. In detail, we focus on the VoltDB implementation of the NewSQL database. In the practical part of this thesis we use the data from the national open access infrastructure. The data consists of metadata about publications and their authors. Our goal was to analyse the scaling capabilities of the VoltDB database and the speed of transactions occurring while searching the database with a defined search string. Using search filters, we output a list of top N search hits and their metadata. Thus, the time complexity of each search filter increases with the number of metadata. During the analysis we measured the transaction execution times on a database installed on one server and compared them with execution times measured on a database installed on two servers. We showed that we can speed up the transaction execution times by scaling the database to two servers.
7 VII Kazalo vsebine 1 UVOD NAMEN IN CILJ DIPLOMSKEGA DELA STRUKTURA DIPLOMSKE NALOGE NOVE PODATKOVNE BAZE ZAČETEK NOVIH PODATKOVNIH MODELOV Velike količine podatkov Podatkovna gruča Lastnosti transakcije NOSQL PODATKOVNI MODELI Uvod Osnovni principi podatkovnih modelov NoSQL PREDSTAVITEV IN PRIMERJAVA NEWSQL PODATKOVNIH BAZ VOLT DB OPIS PODATKOVNE BAZE VOLTDB ARHITEKTURA PODATKOVNE BAZE VOLTDB Hramba podatkov v pomnilniku Razpoložljivost Trajnost Fragmentiranje podatkovne baze Asinhrono/sinhrono proženje shranjenih procedur Izvoz toka podatkov MERITEV IN RAZLAGA REZULTATOV TESTNO OKOLJE VoltDB NAMESTITEV IN KONFIGURACIJA VOLTDB-JA Migracija podatkov iz MSSQL v VoltDB Shranjene procedure in odjemalčeva aplikacija MERITEV ČASA POSAMEZNE TRANSAKCIJE GLEDE NA KOLIČINO PODATKOV IN ŠTEVILO ZADETKOV RAZLAGA REZULTATOV SKLEP VIRI... 37
8 VIII Kazalo slik: SLIKA 2.1: STRUKTURA VELIKIH KOLIČIN PODATKOV... 4 SLIKA 2.2: PODATKOVNA GRUČA... 5 SLIKA 2.3: KLJUČ TABELA... 9 SLIKA 2.4: STOLPIČNA HRAMBA SLIKA 2.5: DOKUMENTNA SHRAMBA SLIKA 2.6: GRAF MODEL SLIKA 4.1: POMNILNIŠKA RAZPOREJENOST VOLTDB-JA SLIKA 4.2: DELOVANJE K-ZAŠČITE SLIKA 4.3: ZAŠČITA PRED OMREŽNO NAPAKO SLIKA 4.4: REPLIKACIJA SLIKA 4.5: PROCESIRANJE TRANSAKCIJ SLIKA 4.6: IZVOZNI ODJEMALEC S HADOOP INTEGRACIJO SLIKA 5.1: FILTER ISKANJA SLIKA 5.2: ER DIAGRAM PODATKOVNE BAZE Kazalo tabel: TABELA 3.1: PRIMERJAVA PODATKOVNIH BAZ TABELA 4.1: PODPRTE KNJIŽNICE TABELA 5.1:SISTEMSKE KONFIGURACIJE TABELA 5.2: SHRANJENA PROCEDURA AVTOR TABELA 5.3: PRIMER KLICA SHRANJENE PROCEDURE IZ APLIKACIJE TABELA 5.4: MERITVE ČASOV TRANSAKCIJ... ERROR! BOOKMARK NOT DEFINED. Kazalo grafov: GRAF 5.1: PROCEDURA AVTOR GRAF 5.2: PROCEDURA KLJUČNE BESEDE GRAF 5.3: PROCEDURA TOPOLOGIJA GRAF 5.4: PROCEDURA JEZIK GRAF 5.5: PROCEDURA LETO... 33
9 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 1 1 UVOD Količina dnevno svežih podatkov skokovito narašča. Podjetja zajemajo več tisoč giga zlogov podatkov o svojih strankah, dobaviteljih, transakcijah in iz milijonov senzorjev vgrajenih v različne naprave. Pri tako velikih količinah raznih informacij je interes podjetij, da jih lahko zajemajo, posredujejo, delijo, shranijo in tudi analizirajo v korist za nadaljne delo. Zato so v današnjem času podatki postali ključeni del vsake poslovne in industrijske dejavnosti. Ker je postala obdelava velikih količin podatkov časovno zelo požrešna, so se začele razvijati alternativne oblike podatkovnih baz. Klasični entitetno-relacijski ali objektni podatkovni sistemi so se dopolnili z alternativnimi podatkovno upravljavskimi sistemi, posebej izdelanimi za ravnanje z velikimi količinami podatkov, raznolikostjo podatkov in različnimi hitrostmi dostopa do velikih podatkovnih zbirk. Te podatkovne zbirke se zmeraj bolj pogosto hranijo v NoSQL ali NewSQL podatkovnih bazah. NewSQL je razred novejših relacijskih podatkovnih baz, ki nam zagotavljajo razširljivost kot sistemi NoSQL in omogočajo procesiranje transakcij v realnem času (kratica OLTP (Online Transaction Processing)). Hkrati ohranjajo tudi vse lastnosti transakcij (kratica ACID (Atomicity, Consistency, Isolation, Durability)), kot jih zagotavljajo relacijske podatkovne baze. 1.1 Namen in cilj diplomskega dela Namen diplomske naloge je na kratko opisati in primerjati različne podatkovne baze NewSQL. Podrobneje bomo opisali in analizirali delovanje podatkovne baze VoltDB. Naš namen testiranja je primerjava hitrosti poizvedb SQL, ki jih proži filter med izbiro določenega kriterija, izbranega s strani uporabnika. Pri tem bomo uporabili scenarij testiranja, najprej na enem strežniku, za tem pa pri enakih konfiguracijah in podatkih še na dveh strežnikih. Tako bomo pridobili jasno sliko glede razširljivosti in fragmentiranja podatkovne baze VoltDB.
10 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Struktura diplomske naloge V drugem poglavju predstavimo različne terminologije in nerelacijske podatkovne modele NoSQL (zgodovino, arhitekturo, prednosti in slabosti). V tretjem poglavju predstavimo nove modele podatkovnih zbirk NewSQL. Opisali smo osnovne klasifikacije modelov in predstavili njihove predstavnike. V četrtem poglavju smo podrobno opisali delovanje podatkovne baze VoltDB, ki smo jo uporabili v praktičnem delu naloge. V petem poglavju opisujemo potek konfiguracije podatkovne baze in meritve pridobljene s testiranjem. V zadnjem delu petega poglavja predstavimo rezultate meritev in ugotovitve. V šestem poglavju se nahaja sklep, kjer so strnjene vse ugotovitve diplomske naloge.
11 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 3 2 NOVE PODATKOVNE BAZE 2.1 Začetek novih podatkovnih modelov V zadnjih letih je razvoj spletnih in mobilnih programskih rešitev povzročil velik porast količine podatkov, ki jih je treba obdelati in shraniti. Na primer samo na Facebook-u je 2.4 milijard vsebin deljenih med prijatelji vsak dan. Zaradi tako velikega porasta informacij v tako kratkem času se podjetja soočajo s problemi nadzorovanja in analiziranja s tradicionalnimi procesnimi orodji. To je povzročilo veliko sprememb pri zmogljivosti in razširljivosti obdelav velikih količin podatkov (ang. Big data) Velike količine podatkov»big Data«je izraz uporabljen za velike in kompleksne podatkovne zbirke. Uporabljamo ga, kadar imamo zelo veliko količino podatkov in tradicionalni podatkovni sistemi ne zadostujejo več potrebam obdelave podatkov. Podjetja se vedno bolj zavedajo, da lahko te velike količine podatkov uporabijo za nove poslovne priložnosti in izboljšave skozi obdelavo in analizo teh podatkov.
12 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 4 Slika 2.1: Struktura velikih količin podatkov»big data«se bolj kot po količini (saj se konstantno spreminja) definira po svoji vedno večji raznolikosti, hitrosti, spremenljivosti in kompleksnosti: [31 Hitrost: pri»big data«se gleda na hitrost, kot tempo s katerim se podatki generirajo. Podatke lahko ustvarijo poslovni procesi, senzorji, internetni viri, mobilne naprave itd.. Pretok je lahko masiven in konstanten. Večina teh podatkov je generiranih realno časovno. Zato samo procesiranje in zajemanje teh podatkov zahteva nove pristope za nadaljne analiziranje, ki pa lahko doprinesejo nove poslovne priložnosti podjetjem. Spremenljivost: podatkovni tokovi so lahko zelo spremenljivi. Imamo konstantne, urne, dnevne, sezonske in dogodkovne sprožilce večjih obremenitev, ki jih je težje obvladati. [33] Kompleksnost: težavnost upravljanja podatkov se povečuje z večanjem njihovih virov ter se prepleta s potrebo po povezovanju in preoblikovanju podatkov med
13 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 5 poslovnimi entitetami in sistemi. Organizacije morajo razumeti razmerja med vsemi podatki. [33] Raznolikost: večina podatkov je nestrukturiranih, vendar jih moramo kljub temu vključiti v kvalitetno analizo in v sprejemanje odločitev. [33] Z analiziranjem velikih količin podatkov lahko pridobimo veliko koristnih podatkov, vendar za razvoj učinkovitih sistemov potrebujemo nova orodja. Tehnologije izpred nekaj let so postale omejene za učinkovito analizo ter naraščajoče raznolikosti podatkov. Tako so se začele razvijati alternativne tehnologije, ki so temu prilagojene. Brez ene ali vseh lastnosti v»big Data«arhitekturi ni mogoče maksimalno izkoristiti vsega potenciala podatkov Podatkovna gruča Podatkovna gruča (angl. database cluster) je skupina dveh ali več neodvisnih strežnikov, ki delujejo kot enoten sistem. Podatkovna gruča nam pomaga doseči visoko razpoložljivost in izboljšati vhodno/izhodno prepustnost podatkovne baze. Ko nastopi napaka na enem od strežnikov v gruči, se viri preusmerijo in delovna obremenitev se porazdeli na drug strežnik v gruči. Slika 2.2: Podatkovna gruča Funkcija podatkovne gruče je, da uporabnikom omogoči konstanten dostop do pomembnih virov podatkov.
14 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Lastnosti transakcije. Z izrazom transakcija označujemo skupek sprememb, ki iz vidika podatkovnih baz predstavljajo eno enoto dela. Pomembna naloga podatkovnih baz je, da zagotavljajo varne transakcije. Te morajo biti atomarne, ujemljive, izolirane in trajne. Te štiri lastnosti v strokovni terminologiji poimenujemo s kratico»acid«. [30] Definiramo jih na naslednji način: Atomarnost (angl. atomicity): vse operacije transakcije se morajo zaključiti, da se ta uspešno izvede. Če se neuspešno izvede katerikoli del transakcije, se prekine celotna transakcija in se konča kot neuspešna. Ujemljivost (angl. consistency): transakcija pripelje podatkovno bazo iz enega veljavnega stanja v drugo. Zagotavlja, da je podatkovna baza vedno v veljavnem stanju. Po neuspešnem izvajanju transakcije pa zagotovi, da je sistem v stanju pred transakcijo. Izolacija neodvisnost (angl. isolation): transakcije se izvajajo neodvisno ena od druge. Med izvajanjem več transakcij hkrati transakcije ne morejo izvajati operacij nad podatki druge transakcije. Trajnost (angl. durability): rezultat se trajno zapiše v fizično podatkovno bazo. 2.2 NoSQL podatkovni modeli Uvod Kratica NoSQL pomeni Not Only SQL in jo pogosto povezujemo z novo skupino podatkovnih baz, ki so se pojavile kot odgovor na težave, s katerimi se srečujemo pri uporabi relacijski baz podatkov. Za podatkovne baze NoSQL je težko podati natančno opredelitev, lahko pa navedemo, katere so njihove pomembne lastnosti. Te lastnosti so: neopredeljena shema, prožnost, drobljenje, asinhrona replikacija, pristop»base«namesto»acid«in arhitektura brez skupne rabe. Nastale so na podlagi zahtev po visoki učinkovitosti in razširljivosti v okolju, kakršen je svetovni splet. [32] Motivacija za ta pristop vključuje preprostost oblikovanja, boljšo horizontalno razširljivost v gruči strežnikov, ki je vedno večji problem tradicionalnih relacijskih podatkovnih baz, kakor
15 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 7 tudi natančnejši pregled nad razpoložljivostjo. Podatkovne strukture uporabljene pri podatkovnih bazah NoSQL se nekoliko razlikujejo od tistih, ki jih uporabljajo konvencionalni relacijski modeli. Nekatere operacije v NoSQL podatkovnih bazah so hitrejše, nekatere pa počasnejše kot pri izvajanju v relacijskih podatkovnih bazah. Glede na zahteve, kakršne potrebujemo, da dosežemo želeni rezultat oz. rešimo določen problem, izberemo temu najprimernejšo vrsto podatkovne baze NoSQL Osnovni principi podatkovnih modelov NoSQL V tem odseku bomo predstavili nekatere osnovne koncepte, ki so najbolj pogosti pri podatkovnih bazah NoSQL in ne unikatni samo za en razred nerelacijskih podatkovnih baz. CAP teorem Eric Brewer je leta 2000 predstavil teorem s kratico CAP, ki je danes široko sprejet v skupnosti NoSQL. Kratica CAP je okrajšava za tri lastnosti: ujemljivost (angl. consistency), razpoložljivost (angl. availability) in particijsko toleranco (angl. partition tolerance). Teorem zagovarja stališče, da porazdeljene podatkovne baze lahko zagotavlajo le dve izmed treh lastnosti: [27] 1. Ujemljivost (angl. consistency):»vse enote vidijo vse podatke enako v vseh časovnih trenutkih. Na primer, ko se operacija zapisovanja konča, je rezultat ujemljiv v celotnem porazdeljenem sistemu vse replike so posodobljene.«[34] 2. Razpoložljivost (angl. availability):»v primeru, da ena ali več izmed enot neha delovati, preostale enote nemotomo delujejo naprej.«[34] 3. Neobčutljivost na deljenje omrežja (angl. partition tolerance): kadar omrežje preneha pravilno delovati, je medsebojna povezava med vozlišči porazdeljenega sistema prekinjena.»v takem primeru se pojavi deljenje omrežna in če je sistem toleranten zanjo, bo še vedno polno funkcionalno deloval naprej.«[34]
16 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 8 V praksi je izpolnitev vseh treh zahtev nemogoča. CAP zagotavlja osnovne zahteve za porazdeljene sisteme, ki omogočajo dve od treh zahtev, zato trenutne NoSQL podatkovne baze temeljijo na različnih kombinacijah CAP teorema. Podatkovne baze imajo visoko horizontalno razširljivost preko gruče strežnikov. Nekateri podatkovni modeli omogočajo razširljivost na podatkih, medtem ko drugi skrbijo za pisalno/bralno razširljivost. Ker omogočajo visoko razpoložljivost, nekateri modeli ciljajo velike porazdeljene sisteme in s tem je neobčutljivost na omrežne particije neizogibna. S tem, da je omogočena visoka razpoložljivost, pa te rešitve izberejo ujemljivost v kompromis razpoložljivosti, kar je rezultat delnega CAP teorema AP (razpoložljivo/tolerantno za deljenje omrežja), medtem ko ima večina relacijsko orientiranih podatkovnih baz CA (ujemljivost/razpoložljivost). Ponavadi NoSQL baze ne podpirajo»acid«transakcij, kot jih zagotavljajo klasične relacijske podatkovne baze, velikokrat so označene kot»base«: Večinoma razpoložljiv (angl. basically available): če je katerikoli del podatkovne shrambe nedostopen, je ostali del kljub temu vedno razpoložljiv. Mehko stanje (angl. soft-state): sistem se zaradi asinhronih posodobitev čez čas spremeni tudi brez sprememb uporabnika, posledica česar je, da so kopije podatkov v nekem času neujemljive. Eventualna ujemljivost (angl. eventual consistency): poudarja, da po določeni časovni periodi postane podatkovna baza usklajena z vsemi podatki. NoSQL podatkovne baze ponujajo zelo prilagodljive sheme, lahko pa so popolnoma brez podatkovne sheme. Zasnovane so tako, da lahko obdelajo različne podatkovne strukture. Poznamo več različnih pristopov klasificiranja podatkovnih baz NoSQL. Zaradi različnih pristopov in prekritij jih je težko natančno opisati, saj so se razvile na podlagi različnih zahtev in potreb v praksi. Tako imajo različne funkcionalnosti, kakor tudi podatkovne modele. Obstajajo različne osnovne klasifikacije na podlagi podatkovnega modela. Ključ-vrednost (angl. Key/Value) Ključ/vrednost tip uporablja zgoščeno tabelo, v kateri obstaja unikaten ključ in kazalec na določeni element podatka. Povečini gre za niz in se preslika v pripadajočo vrednost. Pogosto je dolžina ključev, ki jih je potrebno shraniti, omejena na določeno število zlogov, medtem ko je glede vrednosti manj omejitev. Shranjevanje podatkov po modelu ključ/vrednost deluje po principu, ki ga uporabljajo predpomnilniki. Predpomnilnik hrani največkrat uporabljene podatke z namenom, da prepreči pogoste
17 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 9 zakasnitve diskovnega pogona. Tako omogočajo hitrejši dostop do podatkov, ki so ponavadi manjše zbirke ključev in vrednosti.[27] Slika 2.3: Struktura»Ključ/vrednost«podatkovne baze NoSQL Stolpec (angl. Column) V stolpično-orientirani NoSQL podatkovni bazi so podatki shranjeni v celici, združeni v stolpec podatkov, dočimer imajo relacijske podatkovne baze podatke združene v vrstice. Stolpci so logično združeni v družino stolpcev (angl. ColumnFamily). Družine stolpcev lahko vsebujejo neomejeno število stolpcev, ki jih lahko ustvarimo v»runtime«definiciji sheme. Branje in pisanje uporablja stolpce namesto vrstic, ker se branje in pisanje izvajata na stolpcih, so iskanje in dostop ter agregacija podatkov hitrejši. S tem pristopom shranimo vse celice pripadajočemu stolpcu kot neprekinjen diskovni zapis. Zaradi tega je iskanje in dostopanje do podatka hitrejše.
18 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 10 Slika 2.4: Struktura stolpične podatkovne baze NoSQL Dokument (angl. Document) Dokumentna shramba predstavlja nabor parov tipa ključ-vrednost, strukturiranih v obliko dokumenta. Podobno kot pri podatkovnem modelu ključ-vrednost zagotavljajo nekakšno strukturo in kodiranje uporabljenih podatkov. Za kodiranje dokumentov so uporabljeni standari XML, JSON, BSON in še nekateri drugi formati. Slika 2.5: Struktura dokumentne podatkovne baze NoSQL
19 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 11 Graf (angl. Graph) Graf na podlagi podatkovnega modela predstavlja podatke drugače kot ostali modeli NoSQL podatkovnih baz. Gre za drevesno strukturo (grafe) z vozlišči, povezanimi med seboj preko relacij. Nekatere operacije so tako veliko lažje, če uporabimo te tipe modelov za povezovanje in združevanje podatkov. Slika 2.6: Struktura grafovske podatkovne baze
20 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 12 3 PREDSTAVITEV IN PRIMERJAVA NEWSQL PODATKOVNIH BAZ V prejšnjem poglavju smo opisali NoSQL modele podatkovnih baz, kjer ne moremo zagotoviti razpoložljivosti, ujemljivosti in neobčutljivosti na deljenje omrežja hkrati. Pri tradicionalnih relacijskih podatkovnih bazah naletimo na težave pri razširljivosti in zmogljivosti. Tako so strokovnjaki na področju relacijskih podatkovnih baz začeli iskati nove rešitve. Izraz NewSQL je bil prvič predstavljen v članku raziskovalnega podjetja The 451 group leta Cilji podatkovnih baz NewSQL so, da zagotovijo prednosti relacijskih paradigem za porazdeljene arhitekture in zmogljivost, da horizontalno razširjevanje ne bi bila več nuja. NewSQL podatkovne baze so nov tip relacijskih baz (oz. razširitev tradicionalnih relacijskih baz). [24] Njihov namen je zagotoviti enako prilagodljivo delovanje kot ga imajo NoSQL sistemi, hkrati pa ostati na temeljih relacijskih modelov, ohraniti SQL kot jezik za poizvedbe in zagotoviti»acid«transakcije. V to kategorijo spadata Google Spanner in VoltDB, ki temelji na razvojnem projektu H-Store. Med drugimi sta Clustrix in NuoDB komercialna produkta, ki tudi spadata med vodilne v tej novi tehnologiji. Te podatkovne shrambe podpirajo relacijske modele in uporabljajo SQL kot poizvedovalni jezik, kljub temu da so zasnovane na drugačnih domnevah in arhitekturah kot tradicionalne relacijske podatkovne baze. Tradicionalni SQL NoSQL NewSQL Relacijske DA NE DA SQL poizvedovalni jezik DA NE DA ACID transakcije DA NE DA Horizontalna razširljivost NE DA DA Brez podatkovne sheme NE DA NE Tabela 3.1: Primerjava podatkovnih baz Pomembne karakteristike NewSQL podatkovnih sistemov : NewSQL uporablja SQL poizvedovalni jezik kot primarni mehanizem za aplikacijsko interakcijo. NewSQL zagotavlja»acid«lastnosti transakcij. NewSQL arhitektura zagotavlja večjo zmogljivost posameznega vozlišča kot tradicionalni relacijsko podatkovni modeli.
21 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 13 Zelo dobra horizontalna razširljivost, nič skupna arhitektura Lahko teče na velikem številu vozlišč brez ozkega grla. NewSQL sistemi so približno 50-krat hitrejši od tradicionalnih OLTP podatkovnih baz pri velikem številu transakcij na sekundo. [17] V nadaljevanju bomo opisali različne klasifikacije podatkovnih baz NewSQL. Enako kot pri podatkovnih bazah NoSQL imamo tudi pri NewSQL ponujenih veliko različnih rešitev. Klasifikacija temelji na različnih pristopih ponudnikov teh sistemov. [6] Nova arhitekutra podatkovnih baz: Ti sistemi so razviti z idejo, da bi zagotovili razširljivost in zmogljivost. Za izboljšanje zmogljivosti stremijo k delovanju brez tradicionalnega shranjevanja podatkov. Te nove arhitekture delujejo v pomnilniku ali z uporabo SSD diskov. Med najbolj znane rešitve spadajo VoltDB, NuoDB, Clustrix in Drizzle. Novi MySQL podatkovni pogoni: MySQL je del LAMP ( Linux, Apache, MySQL, PHP) paketa in se veliko uporablja v OLTP. Za probleme z razširljivostjo MySQL podatkovnih skladišč so se začeli razvijat različni podatkovni pogoni, kot so Akiban, MySQL, NDB cluster, GenieDB, InfiniDB, TokuDB in drugi prosto dostopni. Razširljivost pri teh pogonih je boljša kot pri standardnem skladiščnem pogonu InnoDB, ki ga uporablja MySQL. Transparentna fragmentacija: Pri teh se lahko uporabi obstoječo relacijsko podatkovno bazo. Podatkovna baza NewSQL pa omogoča vmesno programsko opremo za fragmentacijo podatkovne baze na večjih strežnikih. S tem se izognemo ponovnemu pisanju kode ali kakršni koli migraciji podatkov. Predstavniki te kategorije so dbshards, ScaleDB in MySQL cluster. [30]
22 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 14 4 VOLT DB Opis podatkovne baze VoltDB Ena pomembnejših lastnosti VoltDB-ja je, da omogoča preprosto razširljivost z dodajanjem procesorjev v gručo strežnikov, ko se rast podatkov in transakcij povečuje. VoltDB hrani podatke v pomnilniku (angl. in-memory), kar poveča prepustnost in prepreči zamudno dostopanje do diska ter dosega večjo zmogljivost s serializacijo vseh dostopov do podatkov. S tem se izogne večini časovno potratnih funkcij, kot sta zaklepanje in vzdrževanje transakcijskih dnevnikov. 4.1 Arhitektura podatkovne baze VoltDB Nekatere ključne lastnosti podatkovne baze VoltDB so: Hramba v pomnilniku za maksimalno prepustnost, s tem pa izogibanje počasnemu dostopu do trdega diska. Serializacija vseh dostopov do podatkov. Zmogljivost in razširljivost preko fragmentacije. Velika razpoložljivost preko sočasne replikacije (K-zaščita). Trajnost preko inovativne kombinacije posnetkov in ukaznega dnevnika (trdi diski/ssd diski). [28]
23 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Hramba podatkov v pomnilniku Današnji podatkovni strežniki so opremljeni z več sto GB glavnega pomnilnika, zato potreba po zmogljivosti ni več odvisna od diskovnih enot. VoltDB shrani podatke v pomnilnik (RAM). Tako procesiranje izloči čakanje diska na odzivnost, zaklepanje in medpomnilniško upravljanje v transakciji. Delovanje pomnilnika VoltDB podatkovne baze se razdeli na tri dele (Slika 4.1): Trajni pomnilnik: uporabljen je za shranjevanje dejanskih podatkovnih baz, kot so tabele, indeksi in pogledi. Večja je količina podatkov v zbirki, več pomnilnika zahteva, da jo shranimo. Delno trajni pomnilnik: je uporabljen za začasno shranjevanje, medtem ko obdeluje SQL poizvedbe in določene sistemske procedure. V glavnem delno trajni pomnilnik vključuje začasne tabele in sprostitev trenutnega pomnilnika (angl. buffer). Trajni pomnilnik se uporabi tudi, kadar shranjujemo podatkovno bazo s posnetkom ali izvažamo podatke v druge podatkovne shrambe. Začasni pomnilnik: upravlja distribucijo procedur na posamezne particije. Začasni pomnilnik vključuje tudi vrsto nerešenih pozivov čakajočih procedur, kakor tudi vrnjene vrednosti zaključenih.
24 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 16 Slika 4.1: Pomnilniška razporejenost VoltDB-ja Pri standardnih modelih po navadi ni pomembno, v katerem jeziku je napisana izvorna koda, vendar v primeru pomnilniškega izvajanja različne platforme uporabljajo pomnilnik na drugačne načine. Za delovanje trajnega in delno trajnega pomnilnika VoltDB se uporablja koda, napisana v C++, pri začasnem pomnilniku pa je koda napisana v Javi. Programski jezik C++ uporablja natančno razporeditev pomnilnika, zato lahko aplikacija natančno kontrolira, kdaj in koliko pomnilnika dodeli oz. sprosti. Pri začasnem pomnilniku (ki ga upravlja Java) pa VoltDB uporablja JVM (angl. Java Virtual Machine). JVM odloča, kdaj in kako bo zbral neuporabljen prostor.
25 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Razpoložljivost VoltDB zagotavlja razpoložljivost z dvema možnostima zaščite. To sta K-zaščita in zaščita pred omrežnimi napakami. K-zaščita: deluje tako, da podvaja fragmente podatkovne baze v gruči vozlišč. Vse kopije fragmentov delujejo sočasno. S tem je cel čas zagotovljena ujemljivost podatkov. V primeru izpada kateregakoli vozlišča v gruči, omogoča K-zaščita neprekinjeno delovanje podatkovne baze. Operacije izpadlega vozlišča prevzamejo kopije fragmentov na drugih vozliščih. S tem zagotovi, da je podatkovna baza dostopna v celoti, dokler se napaka ne odpravi. Pred zagonom, skrbnik nastavi vrednost K-zaščite, ki določa pri koliko vozliščih lahko pride do izpada, da je podatkovna baza še razpoložljiva. Slika 4.2: Delovanje K-zaščite Zaščita pred omrežno napako (angl. Network Fault Protection) deluje v povezavi s K- zaščito. Gruča, zaščitena s K-zaščito, nam pred omrežno napako zavaruje podatkovno bazo pred omrežnimi izpadi. Če se pojavi izguba povezave med vozlišči, gruča zazna prekinjeno povezavo kot izpad vozlišča. V določenih segmentih gruče je lahko dovolj fragmentov za nadaljno delovanje podatkovne baze in vsak segment bi zaznal, da je drugi prišel do izpada. To bi lahko privedlo do sočasnega delovanja različnih fragmentov podatkovne baze. Zaščita pred omrežno napako pa zagotovi, da bo le en fragment podatkovne baze ostal aktiven. S tem prepreči delovanje dveh ločenih kopij podatkovne baze, ki bi sprejemala zahteve v smislu, da je edina delujoča kopija.
26 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 18 Slika 4.3: Zaščita pred omrežno napako Replikacija podatkovne baze: deluje podobno kot K-zaščita, ampak namesto podvajanja fragmentov lokalno, podvajanje replikacije poteka na daljavo nad celotno gručo (kopija celotne podatkovne baze na drugem fizičnem mestu) (Slika 4.4). Ena od ključnih stvari replikacije je, da zagotovi obnovitev podatkovne baze na primer ob naravni katastrofi, ki lahko poruši celotno infrastrukturo. V takih primerih aktivnost primarne podatkovne baze ni mogoče ohraniti. Replikacija nam v nujnem primeru zagotovi kopijo, ki lahko nadomesti prvotno podatkovno bazo. Slika 4.4: Replikacija Trajnost Trajnost je ena od lastnosti»acid«atributov, ki zahteva, da se zagotovi točne in zanesljive operacije podatkovne baze. Zagotavlja ujemljivost in razpoložljivost v primeru
27 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 19 zunanjih problemov, kot so strojne ali sistemske napake. VoltDB zagotavlja trajnost podatkov preko naslednjih lastnosti: Posnetki (angl. snapshot): so celotna kopija podatkovne baze v določenem času, ki se shrani na disk. Ti posnetki se uporabljajo za obnovitev ali ponovni zagon podatkovne baze. Posnetke sprožimo ročno ali v nekem časovnem intervalu. V primeru kakršne koli prekinitve delovanja strežnika obnovimo zadnji posnetek podatkovne baze. Asinhroni ukazni dnevnik (angl. Asynchronous Command Logging): zagotavlja napredno trajnost s posnetki in beleženjem transakcij med ustvarjanjem posnetka. Če se zgodi izpad in s tem ponovni zagon strežnika, se VoltDB povrne v delujoče stanje s pomočjo zadnjega posnetka in dnevnika. V dnevniku so zapisane transakcije, ki so nastale po zadnjem posnetku. Sinhroni ukazni dnevnik (angl. Synchronous Command Logging): nudi najboljšo trajnost. Je nadgradnja asinhronskega pisanja ukazov v dnevnik.»razlika med načinoma je, da se dnevnik ustvari, ko je transakcija zaključena, a še nepotrjena. Z drugimi besedami, nobena transakcija ni potrjena, če ni zapisana v dnevniku in s tem ni nobena transakcija izgubljena.«[30] Edina slabost tega je, da je potrebna boljša tehnologija diska, saj se v nasprotnem primeru pozna na hitrosti izvajanja transakcij. [30] Fragmentiranje podatkovne baze Fragmenti so osrednji del VoltDB-ja, saj je samo prek teh možno doseči vzporednost izvajanja.»vozlišča, ki predstavljajo en fragment, so vezana na jedro procesorja (v smislu obdelave, ne hranjenja podatkov) in ne na strežnik, saj je fragmentiranje na ravni procesorja arhitekturno bolj preprosto, s čimer se pride tudi do boljših rezultatov, učinkovitosti.«[30] Ker so fragmenti avtonomni, ni zaklepanja ter večnitnosti, in je zato koda bolj zanesljiva, razhroščevanje pa manj problematčno.»fragmentira se tako podatke po uporabniško definiranem ključu kot procesiranje v povezavi s podatki.«[30] VoltDB pozna tudi tabele, ki se v celoti nahajajo na posameznih fragmentih. To so predvsem tabele, ki se ne spreminjajo veliko in naredijo operacije stikov manj potratne. [30]
28 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 20 Dodajanje števila jeder strežnika pomeni več fragmentov, vendar dodajanje jeder na neki točki ne vpliva več na boljšo prepustnost, saj bodo transakcije v nekem trenutku zapolnile razpoložljivi prostor vrat strežnika, skozi katere komunicirajo z drugimi vozlišči oz. odjemalcem. Podobno velja za večanje števila vozlišč v gruči. Za dobro učikovitost (čim manjši zamiki in manjše motnje med vozlišči) je bolje, da so vsi strežniki na istem omrežnem stikalu. Očitno je, da je priporočeno največje število strežnikov tolikšno, kot jih podpira stikalo. [30] Asinhrono/sinhrono proženje shranjenih procedur Pri običajnih bazah podatkov so v transkacijah pogoste zakasnitve diska. Raje, kot da je CPU nedejaven, le-ta sistem za upravljanje podatkovne baze med čakanjem preplete izvedbo SQL iz več transkacij, tako da je vedno zaposlen. Slednja aktivnost povzroči presežno in pomembno zapahovanje ter zaklepanje. Baza podatkov VoltDB je sestavljena iz več izvrševalnih pogonov v pomnilniku, imenovnovanih fragmenti. Fragment združi podatke in procesne konstrukte, povezane z njimi. VoltDB le-te avtomatično ustvari in razdeli po jedrih procesorjev v gruči sistema za upravljanje podatkovne baze. Vsaka VoltDB stran (angl. site) je enoprocesna in vsebuje vrsto transakcijskih prošenj, ki jih izvrši zaporedoma nad svojimi podatki.
29 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 21 Slika 4.5: Procesiranje transakcij Z uporabo zaporednega procesiranja transakcij zagotavlja VoltDB ujemljivost transakcij brez presežka v zaklepanju. Fragmentiranje podatkovne baze omogoča, da hkrati obdela več zahtev. VoltDB lahko s pomočjo eliminiranja zakasnitev preko delovanja v pomnilniku in shranjenih procedurnih klicev izvrši več milijonov SQL operacij na sekundo.
30 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Izvoz toka podatkov VoltDB omogoča, glede na bazo podatkov, selektivno izvažanje podatkov. Tarča za izvoz podatkov iz VoltDB-ja je lahko druga podatkovna baza, datoteka (npr. dnevnik zapisov) ali proces (npr. upravitelj opravil). VoltDB omogoča izvoz toka podatkov prek izvoznih tabel, tj. preko posebnih tabel, ki vsebujejo stolpične podatke iz ene ali več fizičnih tabel v bazi podatkov. Takoj ko vnesemo podatke v izvozno tabelo, so le-ti poslani do aplikacije, ki jih sprejme preko konektorja. VoltDB zadrži izvozno tabelo v medpomnilniku, dokler konektorja izvozni odjemalec ne sprejme. Če izvozni odjemalec ne dohaja konektorja in če se podatkovna vrsta zapolni, VoltDB zapiše preliv podatkov na disk in s tem zagotovi, da so vsi izvoženi podatki na voljo odjemalcu, tudi ko sčasoma nadaljuje s pridobivanjem. Izvozni preliv eliminira situacije neujemanja podatkov, ki bi se lahko zgodile med VoltDB-jem in sistemi za prejemanje, pri čemer VoltDB oddaja podatke hitreje, kot jih lahko sosednja baza podatkov shrani. Integracija Hadoop-a VoltDB predstavlja odlično rešitev za ravnanje s realnočasovno generiranimi podatki. Hadoop pa je odlična rešitev za analiziranje ogromnih velikih količin podatkov. VoltDB ima tudi izvoznega odjemalca, ki avtomatizira proces izvoza podatkov iz VoltDB-ja na Hadoop. VoltDB se lahko integrira direktno s HDFS (Hadoop File System) ali pa preko Hadoopove Sqoop tehnologije za uvoz. Standardni izvozni odjemalec VoltDB-ja zbere podatke iz VoltDB-jeve zbirke, jih deserializira in jih shrani v medpomnilnik za prejemanje. Odjemalec, ki izvaja izvoz podatkov, sproži procese za prejemanje in nalaganje ter jim dostavi podatke; zatem so podatki naloženi v Hadoopovo podatkovno skladišče.
31 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 23 Slika 4.6: Izvozni odjemalec s Hadoop integracijo Razvoj aplikacij z VoltDB-jem VoltDB s strani odjemalca ponuja več knjižnic, ki podpirajo prvotne mehanizme za dostop do podatkovnih baz v različnih programskih jezikih. Večina teh knjižnic je razvita in podprta s strani VoltDB-jeve ekipe. Nekatere knjižnice pa razvijajo člani odprtokodne skupnosti. VoltDB-jeve knjižnice Odprtokodne knjižnice Java Python Erlang C++ PHP Ruby.Net(C#) HTTP/JSON Node.js Tabela 4.1: Podprte knjižnice
32 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 24 5 MERITEV IN RAZLAGA REZULTATOV Za potrebe testiranja smo uporabili podatkovno zbirko OpenScience. Podatkovna zbirka nacionalne infrastrukture odprtega dostopa je sestavljena iz metapodatkov o publikacijah avtorjih zaključnih del (diplome, magisteriji in doktorati) in raziskovalnih publikacij slovenskih univerz in drugih slovenskih zbirk (dlib, Videolectures.NET, DKMORS, repozitorij SciVie...). [29] Filter iskanja (Slika 5.1: Filter iskanja točka 2) nam na podlagi podanega iskalnega niza filtrira najbolj pogoste metapodatke in jih razporedi po naslednjih metapodatkih (Slika 5.1): ključnih besedah, letu izdaje dela, avtorju, repozitoriju, jeziku, tipologiji. S tem uporabnikom olajšamo iskanje vsebine pri večji količini zadetkov, podanih glede na podani iskalni niz. Izbira metapodatkov omogoča uporabnikom filtriranje in iskanje po točno določenih kriterijih, ki jih uporabnik izbere. Uporabiti je mogoče več filtrov hkrati in s tem uporabniku omogočiti natančnejše iskanje ter izločiti nezaželeno. Naš namen testiranja je primerjava hitrosti poizvedb SQL, ki jih proži filter med izbiro določenega kriterija, izbranega iz uporabniške strani. Pri tem pa smo uporabili scenarij testiranja, najprej na enem strežniku, za tem pa pri enakih konfiguracijah in podatkih še na dveh strežnikih. S tem smo pridobili jasno sliko glede razširljivosti in fragmentiranja podatkovne baze VoltDB.
33 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Testno okolje Slika 5.1: Filter iskanja VoltDB Podatkovna baza VoltDB je ponujena v dveh različicah, Enterprise Edition (produkcijska) in Community Edition (odprtokodna). Odprtokodna ali Community različica zagotavlja osnovno funkcionalnost z vsemi prednostmi transakcijske zmogljivosti. Medtem ko Enterprise zagotavlja dodatne možnosti za podporo produkcijskemu okolju, kot so visoka razpoložljivost, trajnost in dinamična razširljivost. Za potrebe testiranja smo uporabili odprtokodno različico VoltDB Community Edition. Pred samo namestivijo je bilo potrebno namesti dodatno programsko opremo: Java 1.7 Apache Ant 1.7 GNU C++ 4.2
34 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 26 Python 2.6 Eclipse IDE Testiranje VoltDB-ja je potekalo na dveh strežnikih, ki imata naslednje konfiguracije: Strežnik 1 Strežnik 2 Procesor Dual core 2.2 GHz Dual core 2.0 GHZ Delovni pomnilnik 4.00 GB Operacijski sistem Ubuntu LTS Tabela 5.1:Sistemske konfiguracije 5.2 Namestitev in konfiguracija VoltDB-ja Pred samim zagonom podatkovne baze je potrebno ustvariti aplikacijski katalog. Aplikacijski katalog vsebuje definicijo podatkovne sheme (Slika 5.2), shranjene procedure ter navodila o fragmentiranju tabel in procedur. Tega prevedemo iz SQL datoteke v JAR (Java arhiv) datoteko. Zraven aplikacijskega kataloga pa smo uredili še namestitveno datoteko, kjer konfiguriramo na kolikih strežnikih bo podatkovna baza zagnana, koliko bo zaščita K in koliko fragmentov naj ima posamezen strežnik. Za samo delo s podatkovno bazo smo si ustvarili projekt v Eclipse razvojnem okolju, kjer smo ustvarili za vsako proceduro razred, ki vsebuje poizvedbo in jo nato spremenili v JAR datoteko.
35 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 27 Slika 5.2: ER diagram podatkovne baze VoltDB temelji na fragmentiranju tabel in tudi procedur. Glede na omejitve procesorske moči smo lahko fragmentirali 3 tabele. Zato smo izbrali najpogostejše stolpce, ki so uporabljeni pri SQL poizvedbi. V našem primeru smo fragmetirali tabelo Metadata po ključu RecordID_NR, Author po ključu ID ter Metadata_Author po ključu AuthorID. Za še hitrejše iskanje po podatkih smo ustvarili indekse na naslednjih tabelah: Metadata_Author (MetadataID); Metadata_Author (AuthorID, MetadataID); KljucneBesede (RecordID_NR); Author (ID); Typology (ID) Migracija podatkov iz MSSQL v VoltDB Za migracijo podatkov iz Microsoftove podatkovne baze v podatkovno bazo VoltDB smo uporabili Java aplikacijo. Z JDBC konektorjem smo se povezali na podatkovno bazo MSSQL, kjer smo preko SQL poizvedb pridobili želene podatke. Te podatke smo z uporabo VoltDB-jeve knjižnice vstavljali s stavkom INSERT in direktno polnili podatkovno bazo VoltDB.
36 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Shranjene procedure in odjemalčeva aplikacija Za primer testiranja smo napisali poizvedbo, ki je na podlagi izbranega iskalnega niza našla sedem najpogostejših zadetkov. Kot vidimo na sliki (Slika 5.1: Filter iskanja), imamo sedem različnih kategorij. Za vsako kategorijo (ključne besede, leto izdaje, avtorji, repozitorij, tipologija, jezik) smo napisali proceduro, ki vsebuje poizvedbo. Zaradi optimizacijskih potreb se zahtevnejše poizvedbe v VoltDB-ju vedno izvajajo kot procedure. Procedure v VoltDB-ju se prevedejo in so zato veliko bolj učinkovite kot»ad-hoc«poizvedbe. Tako smo za vsako proceduro ustvarili svoj razred (Tabela 5.2) in vse razrede prevedli v JAR datoteke. Procedure smo potem klicali iz aplikacije, ki je bila napisana v Javi. public class Avtor extends VoltProcedure { } public final SQLStmt topavtor = new SQLStmt( "SELECT TOP 7 COUNT(*) N, A.Name, Surname FROM Author A " + "INNER JOIN Metadata_Author MA on MA.AuthorID = A.ID " + "INNER JOIN Metadata M on M.ID = MA.MetadataID " + "WHERE M.RecordID_NR IN? " + "GROUP BY A.Name, A.Surname " + "ORDER BY N DESC;"); public VoltTable[] run(int[] indexi) throws VoltAbortException { voltqueuesql(topavtor,(object) indexi ); VoltTable[] queryrezultat = voltexecutesql(); return queryrezultat; } Tabela 5.2: Shranjena procedura Avtor V spodnjem odseku kode je klic procedure iz aplikacije. V našem primeru smo vsako proceduro izvajali 1000-krat in izračunali povprečen čas izvajanja posamezne transakcije. results = client.callprocedure("avtor", (Object) temp).getresults(); Tabela 5.3: Primer klica shranjene procedure iz aplikacije
37 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Meritev časa posamezne transakcije glede na količino podatkov in število zadetkov Meritve smo izvajali na podlagi števila podatkov in števila vrnjenih rezultatov izbrane poizvedbe. Tako smo izmerili povprečen čas izvajanja ene transakcije nad podatki. V tabelah so podani rezultati, kjer nam ena vrstica prikazuje časovne rezultate izvajanja ene procedure, ki je bila sprožena 1000-krat. S tem smo pridobili povprečni čas izvajanja posamezne transakcije. Za uporabniški scenarij smo uporabili iskalni ključ»android«. Po iskalnem ključu smo preko poizvedbe poiskali 7 najpogostejših zadetkov za vse kategorije. V tabeli5.4) imamo podane meritve časov transakcije. V tretjem stolpcu imamo podane rezultate na enem strežniku, v četrtem stolpcu pa meritve časov, ko je podatkovna baza porazdeljena na dveh strežnikih. V tabelah so zajeti naslednji podatki: št. zadetkov skupno število vrnjenih vrstic SQL poizvedbe, št. podatkov število podatkov v tabeli, na katero je podana poizvedba, povprečni čas izvajanja posamezne procedure na enem strežniku v milisekundah, povprečni čas izvajanja posamezne procedure na dveh strežnikih v milisekundah. Tabela 5.4: Meritve časov transakcij Št. zadetkov Št. podatkov v tabeli Procedura avtor ,2 4, ,8 6, ,57 7, ,62 9, ,15 31, ,1 66, ,92 273, ,51 986, , ,62 Procedura kljucne besede
38 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran ,94 4, ,34 6, ,7 6, ,09 7, ,66 14, ,72 23, ,95 34, ,96 73, ,3 153,8 Procedura topologija ,72 3, ,52 6, ,46 5, ,01 7, ,2 13, ,52 22, ,04 33, ,52 71, ,1 137,57 Procedura jezik ,65 3, ,03 5, ,36 5, ,58 7, ,91 13, ,84 18, ,46 28, ,38 51, ,53 108,2 Procedura leto ,69 3, ,81 5, ,77 5, ,73 7, ,22 13, ,71 18, ,98 28, ,62 51, ,5 108,2
39 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran Razlaga rezultatov Zgornja tabela (Error! Reference source not found.) prikazuje, kako se vrednosti časov transakcij spreminjajo glede na količino podatkov in število vrnjenih vrstic SQL poizvedbe. Procedura avtor vsebuje poizvedbo, ki združuje tri tabele (Metadata, Metadata_Author, Avtor) in nam vrne 7 najpogostejših avtorjev, ki imajo po vseh metapodatkih največ ujemanj glede na iskalni niz. Proženje procedure oz. poizvedbe nad podatkovno bazo na enem strežniku pri majhni količini je skoraj 95 % hitrejše, kot je pri porazdeljenosti na dveh. Z dodajanjem novih podatkov se povečuje število del, s tem pa tudi število zadetkov (avtorjev). V našem primeru opazimo, da je podatkovna baza na enem strežniku hitrejša do meje, ko je število podatkov še dokaj majhno. Po tej meji pa je povprečna podatkovna baza porazdeljena na dveh strežnikih za 33 % hitrejša. Graf 5.1: Procedura avtor Enako razmerje časov vidimo tudi pri procedurah jezik, ključne besede, topologija. Vsaka od teh procedur ima shranjeno poizvedbo, ki združuje po dve tabeli. Pri majhni količini podatkov je podatkovna baza bistveno hitrejša kot porazdeljena na dveh strežnikih. Vse do prehoda meje, kjer porazdeljenost podatkovne baze na dveh strežnikih postane povprečno 30 % hitrejša.
40 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 32 Graf 5.2: Procedura ključne besede Graf 5.3: Procedura topologija
41 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 33 Graf 5.4: Procedura jezik Bistveno pa odstopajo časi pri proceduri leto. Procedura ima shranjeno poizvedbo, ki ima povpraševanje v eni tabeli. V našem primeru poizvedba SQL išče indekse RecordID_NR, ki imajo shranjeno določeno leto nastanka (datum nastanka dela, članka itd. ). Ker pri tabeli Metadata nismo imeli ustvarjenega indeksa, je iskanje počasnejše. Stolpec, ki vsebuje vrednost letoizdaje, ni indeksiran, ker po proizvajalčevih predlogih za skrbništvo podatkovne baze ni priporočljivo, da se na stolpcih, kjer ni veliko različnih vrednosti, ustvarjajo dodatni indeksi. S tem opazimo tudi razliko v časih. Pri majhni količini podatkov v bazi je povpraševanje na enem strežniku hitrejše za 75 % kot na dveh. Pri večji količini se ta razlika nekoliko zmanjša, kjer je en strežnik še vedno hitrejši za povprečno 23 %. Graf 5.5: Procedura leto
42 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 34
43 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 35 6 SKLEP Glavni cilji diplomske naloge je bil, da predstavnimo nove relacijske podatkovne modele. V teoretičnem delu smo na kratko predstavili razvoj nerelacijskih podatkovnih modelov NoSQL ter relacijskih NewSQL. Osredotočili smo se na podatkovno bazo VoltDB, ki je ena izmed popularnejših predstavnikov NewSQL tehnologije. V praktičnem delu diplomske naloge smo naredli analizo, kjer smo spremljali časovne razlike posameznih transakcij in horizontalno razširljivost celotne podatkovne baze. Glede na to, da je testiranje potekalo na strežnikih skoraj minimalnih zahtev za obratovanje, kot jih priporoča proizvajalec za delovanje podatkovne baze, je podatkovna baza VoltDB dokaj hitra. Iz tega pa je tudi vidno, da je veliko odvisno tudi od same procesorske moči in razpoložljivega pomnilniškega prostora, ko se število podatkov povečuje. Prišli smo do ugotovitve, da lahko s podatkovno bazo VoltDB zadostimo nekaterim pogojem, ki bi jih potrebovali pri vzpostavitvi podatkovne zbirke nacionalne infrastrukture odprtega dostopa. Potrebno bi bilo na novo načrtovati konceptualni nivo podatkovne baze in ga prilagoditi za potrebe, ki jih določa arhitektura podatkovne baze VoltDB. Ker pa nacionalna infrastruktura odprtega dostopa trenutno že hrani veliko količino shranjenih metapodatkov in z vsakim dnem postopoma narašča, bi nastal problem glede pomnilniškega prostora. Pri projektni nalogi smo naleteli na več problemov glede omejitev, ki jih ima podatkovna baza VoltDB. Med te sodi pomanjkanje implementacije SQL sintakse in omejitev velikosti ene domene v stoplpcu na 1 MB. Zaradi te omejitve smo morali izločiti stolpec PlainText, ki je bil v prvotni podatkovni shemi. Ta stolpec je namreč imel velikost nekaterih vrednosti, tudi do več 100 MB. S temi omejitvami smo morali poseči tudi po spremembah v podatkovni shemi. Za uporabo testiranja smo uporabili odprtokodno različico VoltDB-ja, ki nam ne omogoča shranjevanja posnetkov podatkovne baze, kar nam je zelo otežilo delo s samim ponovnim nalaganjem podatkov.
44 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 36 Iz doseženih rezultatov lahko sklepamo, da se sistemi NewSQL lahko primerjajo s tradicionalnimi relacijsko podatkovnimi modeli v nekaterih določenih primerih. Glede na to, da je VoltDB predstavljen v večini kot OLTP model, za potrebe OLAP ni ravno primeljiv. Razširljivost je pri VoltDB-ju precej poenostavljena. Glede same razporeditve podatkov po posameznih fragmentih baze, kakor tudi dodajanje novih vozlišč, je precej lažje kot pri nekaterih drugih modelih. Ker se v današnjih časih vse bolj uveljavlja računalništvo v oblaku, je to velika prednost.
45 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 37 7 VIRI [1] A Journey From SQL to NoSQL to NewSQL [Internet, obiskano dne ] [2] Michael Stonebraker, NewSQL vs. NoSQL for New OLTP [Internet, obiskano dne ] [3] Andraz Tori, SQL or NoSQL, that is the question! [Internet, obiskano dne ] [4] Girish Kumar, Exploring the different types of nosql databases [Internet, obiskano dne ] [5] James Manyika, Michael Chui, Big data: The next frontier for innovation, competition, and productivity novation [Internet, obiskano dne ] [6] Prasanna Venkatesh, Nirmala S, NewSQL The New Way to Handle Big Data [Internet, obiskano dne ] [7] A B M Moniruzzaman, NewSQL: Towards Next-Generation Scalable RDBMS for Online Transaction Processing (OLTP) for Big Data Management [Internet, obiskano dne ] [8] Technical Overview VoltDB white paper obiskano dne ]
46 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 38 [9] Jeff Sultelman, Volt DB Demo [Internet, obiskano dne ] [10] Choo Yun-cheol Spanner, a Globally Distributed Database by Google [Internet, obiskano dne ] [11] Introduction To NewSQL, [Internet, obiskano dne ] [12] Rick Nelson, NewSQL takes advantage of main-memory databases like H-Store [Internet, obiskano dne ] [13] John Piekos, NewSQL - answer to Big Data's challenges? [Internet, obiskano dne ] [14] Ryan Betts, NoSQL vs. NewSQL: Choosing the right tool [Internet, obiskano dne ] [15] Michael Stonebraker, New SQL: An Alternative to NoSQL and Old SQL for New OLTP Apps [Internet, obiskano dne ] [16] Wilson A Higashino, Data management in cloud environments: NoSQL and NewSQL data stores [Internet, obiskano dne ] [17] Rakesh Kumar, Neha Gupta, Critical Analysis of Database Management Using NewSQL, [Internet, obiskano dne ] [18] Matt Aslett
47 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 39 [Internet, obiskano dne ] [19] Stavros Harizopoulosr, OLTP Through the Looking Glass, and What We Found There [Internet, obiskano dne ] [20] Bill Kleyman, What is a clustered database? [Internet, obiskano dne ] [21] Laurent Guérin, NewSQL: what s this? [Internet, obiskano dne ] [22] Christof Strauch, NoSQL Databases [Internet, obiskano dne ] [23] Eric Brewer, CAP Twelve Years Later: How the "Rules" Have Changed [Internet, obiskano dne ] [24] SogetiLabs, Our top : NewSQL what s this? [Internet, obiskano dne ] [25] Matt Aslett, Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL [Internet, obiskano dne ] [26] Community edition VoltDB [Internet, obiskano dne ] [27] Nataša Knez, Primerjava relacijske in NoSQL podatkovne baze in opredelitev kriterijev za pomoč pri izbiri najprimernejše podatkovne baze, [Internet, obiskano dne ]
48 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 40 [28] VoltDB dokumentacija [Internet, obiskano dne ] [29] Nacionalni portal odprte znanosti, [Internet, obiskano dne ] [30] Jernej Sila, Primerjava NewSQL podatkovnih baz NuoDB in VoltDB [Internet, obiskano dne ] [31 Big Data Meets Big Data Analytics [Internet, obiskano dne ] [32] Podatkovne baze NoSQL, Aljaž Zrnec, Lovro Šubelj [Internet, obiskano dne ] [33] Jana Medved, Big data tehnologije za analizo velike količine poslovnih podatkov [Internet, obiskano dne ] [34] Dietner Mario, Uporaba nosql podatkovnih baz za generiranje poročil detektorja plagiatov [Internet, obiskano dne ]
49 Uporaba podatkovnih baz NewSQL pri obdelavi velikih količin podatkov Stran 41
PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA
KATALOG ZNANJA 1. IME PREDMETA ZBIRKE PODATKOV I ZBIRKE PODATKOV II 2. SPLOŠNI CILJI Splošni cilji predmeta so: razvijanje sposobnosti za uporabo znanstvenih metod in sredstev, razvijanje odgovornosti
Prikaži večChapter 1
- 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza
Prikaži večUporaba informacijsko komunikacijske tehnologije v naravoslovju in tehniki
Predavatelj: izr. prof. Uroš Lotrič Asistent: Davor Sluga Vsebina 5 x V Problemi velikih podatkov Apache Hadoop kot rešitev Kaj je Hadoop HDFS YARN MapReduce Hadoop ekosistem VVVVV Volume (Količina) Količina
Prikaži večDSI 2019
SINERGIJA PROTOKOLA IPFS IN TEHNOLOGIJE VERIŽENJA BLOKOV Aida Kamišalić Latifić, Muhamed Turkanović, Blaž Podgorelec, Marjan Heričko TEHNOLOGIJA VERIŽENJA BLOKOV in IPFS Porazdeljena & decentralizirana
Prikaži večStyle Sample for C&N Word Style Sheet
IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM BigInsights on Cloud Pogoje uporabe ("pogoji uporabe") sestavljajo ti IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS ("pogoji posebne ponudbe
Prikaži večSlide 1
Tehnike programiranja PREDAVANJE 10 Uvod v binarni svet in računalništvo (nadaljevanje) Logične operacije Ponovitev in ilustracija Logične operacije Negacija (eniški komplement) Negiramo vse bite v besedi
Prikaži večMicrosoft Word - M docx
Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali
Prikaži večDiapozitiv 1
Računalništvo in informatika Program: Mehatronika dr. Hubert Fröhlich, univ. dipl. el. Podatkovne baze 2 Podatkovne baze Podatki osnova za odločanje in izvajanje akcij tiskana oblika elektronska oblika
Prikaži večVaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas
Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM
Prikaži večVPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC
VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC Državni zbor v številkah 90 poslancev 9 + 1 poslanska skupina 150+ mobilnih naprav (OS Android, ios) 500+ internih uporabnikov, 650+ osebnih računalnikov, 1100+
Prikaži večStyle Sample for C&N Word Style Sheet
IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM Compose Enterprise Pogoje uporabe ("Pogoji uporabe") sestavljajo ti IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS ("Pogoji posebne ponudbe SaaS")
Prikaži večMicrosoft PowerPoint - Sequi_SecDAy.ppt
Sistem za zagotavljanje revizijske sledi zbirk podatkov Marko Hočevar Premisa d.o.o. Iztok Lasič Hic Salta d.o.o. O revizijski sledi Namen revizijske sledi Znane težave pri zajemanju revizijske sledi Zakaj
Prikaži večNavodila za uporabo Mini prenosna HD kamera s snemalnikom
Navodila za uporabo Mini prenosna HD kamera s snemalnikom www.spyshop.eu Izdelku so priložena navodila v angleščini, ki poleg teksta prikazujejo tudi slikovni prikaz sestave in delovanja izdelka. Lastnosti
Prikaži večRAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni
RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje
Prikaži večPodatkovni model ER
Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke
Prikaži večVaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje
Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na
Prikaži večSlide 1
Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk
Prikaži večZa vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.
Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. A Analitična orodja: Programska oprema, s katero je mogoče zbirati in meriti poslovne podatke ter o njih poročati.
Prikaži večPowerPoint Presentation
INFORMACIJSKI SISTEM MFERAC - LETA 2022 mag. Andreja Sladoje Jemec, Sanja Štumberger Kovačič Ministrstvo za finance 10.12.2018 Vsebina predstavitve 1. Projekt MFERAC05 in izhodišča prenove 2. Izvajanje
Prikaži večMicrosoft Word - M _mod..docx
Državni izpitni center *M17278113* JESENSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Ponedeljek, 28. avgust 2017 SPLOŠNA MATURA Državni izpitni center Vse pravice pridržane. M172-781-1-3 2 IZPITNA POLA 1 1
Prikaži večStyle Sample for C&N Word Style Sheet
IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM IoT Continuous Engineering on Cloud in IBM Collaborative Lifecycle Management on Cloud Pogoje uporabe ("pogoji uporabe") sestavljajo ti IBM-ovi pogoji
Prikaži večUPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete
UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH
Prikaži večNASLOV PREDAVANJA
Dobrodošli! Welcome! Tomi Dolenc info@arnes.si Arnesove novosti in Campus Best Practice, srečanje informatikov, Tehnološki park Ljubljana 20. 10. 2011 Namen srečanja Povezujemo znanje Nadaljevanje? Sodelovanje?
Prikaži večNavodila za uporabo Mini snemalnik
Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format
Prikaži večŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA
ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo
Prikaži večEvent name or presentation title
Marko Škufca Vodja programa BI, ADD d.o.o. Gorazd Cah Specialist področja Služba za informatiko, DARS d.d. Izziv Rešitev Rezultati... PROCESI + TEHNOLOGIJA + LJUDJE Poslanstvo: s sodobnimi pristopi in
Prikaži večOrodje za izvoz podatkov
Pomoč uporabnikom -NA-SI-200, V6.13-00 IZUM, 2018 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Predstavitev orodja za izvoz podatkov...
Prikaži večMicrosoft Word - CNC obdelava kazalo vsebine.doc
ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo
Prikaži večFolie 1
S&TLabs Innovations mag. Damjan Kosec, S&T Slovenija d.d. marec 2013 S&TLabs Laboratorij za inovacije in razvoj spletnih in mobilnih informacijskih rešitev Kako boste spremenili svoj poslovni model na
Prikaži večNavodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str
Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si
Prikaži večUNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina
UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi
Prikaži večVzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak
Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak, Sfera IT d.o.o. 1 Priprava na: Vzpostavitev več nivojske
Prikaži večPowerPointova predstavitev
Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in
Prikaži večDocument ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov
ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574
Prikaži večMicrosoft Word - CN-BTU4 Quick Guide_SI
Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost
Prikaži večLAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije?
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tim Cestnik LAMP, MEAN, ANNE kaj izbrati za razvoj spletne aplikacije? DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO
Prikaži večMicrosoft Word - CNR-BTU3_Bluetooth_vmesnik
CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite
Prikaži večPowerPoint Presentation
Better Integrate. Open. Innovate. Roland Petek, COO, Better by Marand 30 let izkušenj v ZIT 150 zaposlenih 18M EUR letnega prometa Rešitve v zdravstvu platforme, orodja, aplikacije Stranke v 15 državah
Prikaži večMicrosoft Exchange 2013
Cumulative update 1 (CU1) for Exchange Server 2013 - izdan včeraj 2.4.2013. Get-AdminAuditLogConfig Get-SendConnector "Internet" Remove- ADPermission -AccessRight ExtendedRight - ExtendedRights "ms-exch-send-headers-
Prikaži večMicrosoft PowerPoint - krstulovic
PROST DOSTOP DO DOSEŽKOV SLOVENSKIH ZNANSTVENIKOV PREK PORTALA dlib.si mag. Karmen Štular Sotošek mag. Zoran Krstulović Daša Pokorn Narodna in univerzitetna knjižnica 3 Uporabniki in prosto dostopne zbirke
Prikaži večCOBISS3/Medknjižnična izposoja
3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje
Prikaži večPKP projekt SMART WaterNet_Opis
PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev
Prikaži večArjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010
Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010 I Diplomsko delo univerzitetnega študijskega programa PROFILIRANJE SPLETNIH APLIKACIJ Študent: Študijski program:
Prikaži večNAVODILA ZA IZPOLNJEVANJE OBRAZCA
NAVODILO ZA UPORABO PRIPOMOČKA ZA PRIPRAVO STROŠKOVNEGA NAČRTA PROJEKTA»Piano finanziario Stroskovni nacrt«dokument»piano finanziario Stroskovni nacrt«v Microsoft Excel obliki lahko uporabite kot pripomoček
Prikaži večDiplomska naloga
UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer Informatika v organizaciji in managementu AVTOMATIZACIJA PROCESA VARNOSTNEGA KOPIRANJA PODATKOV Mentor: doc. dr. Borut Werber Kandidat: Marko Praprotnik
Prikaži večElektronska pošta
Elektronska pošta ZGODOVINA Prvo sporočilo je bilo poslano leta 1971. Besedilo, ki ga je vsebovalo, je bilo QWERTYUIOP. Pošiljatelj je bil Ray Tomlinson, računalnika med katerima je bilo sporočilo poslano
Prikaži večMacoma katalog copy
POSLOVNE APLIKACIJE PO ŽELJAH NAROČNIKA Poročilni sistem Finance in kontroling Poprodaja Podatkovna skladišča Prodaja Proizvodnja Obstoječi ERP Partnerji Implementacija rešitev prilagojena po željah naročnika
Prikaži večEVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati
EVROPSKA KOMISIJA Bruselj, 21.11.2018 C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne 21.11.2018 o vzpostavitvi začasnega neposrednega statističnega ukrepa za izkazovanje izbranih vsebin popisa
Prikaži večEU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n
EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se nanaša na tobačne izdelke na trgu EU in na tobačne izdelke, izdelane v EU, vključno s tistimi
Prikaži več(Microsoft PowerPoint - Milan Ojster\232ek_IJU2014)
Organizacijski, tehnični in pravni vidiki vzpostavitve nacionalne infrastrukture odprtega dostopa Milan Ojsteršek Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko 08. 12.
Prikaži večNove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n
Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity
Prikaži večMicrosoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]
Telekomunikacijski inženiring dr. Iztok Humar Vsebina Značilnosti TK prometa, preprosti modeli, uporaba Uvod Značilnosti telekomunikacijskega prometa Modeliranje vodovno komutiranih zvez Erlang B Erlang
Prikaži večDiplomsko delo visokošolskega strokovnega študija Informatika v organizaciji in managementu UPORABA MICROSOFT HYPER-V ZA PRENOVO STREŽNIŠKE INFRASTRUK
Informatika v organizaciji in managementu UPORABA MICROSOFT HYPER-V ZA PRENOVO STREŽNIŠKE INFRASTRUKTURE Mentor: viš. pred. dr. Gregor Lenart Kandidat: Stašo Zver Kranj, januar 2015 ZAHVALA Zahvaljujem
Prikaži večStyle Sample for C&N Word Style Sheet
Opis storitve IBM Content Manager Enterprise Edition on Cloud Ta opis storitve opisuje storitev v oblaku, ki jo IBM zagotavlja naročniku. Naročnik pomeni pogodbeno stranko ter njegove pooblaščene uporabnike
Prikaži večProtokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.
Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju
Prikaži večPowerPointova predstavitev
IZKUŠNJE PRI PRILAGODITVI E-STORITEV AJPES ZAHTEVAM EIDAS ZA ČEZMEJNO PRIZNAVANJE MARJAN BABIČ, AJPES Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije s SI-PASS
Prikaži večPOROČILO
UVOD Delovanje knjižnice Fakultete za kemijo in kemijsko tehnologijo v Ljubljani (UL FKKT), ki je sedaj že 17 let funkcionalno združena s Centralno tehniško knjižnico (CTK), lahko ocenimo kot uspešno kar
Prikaži večRAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s
RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s področja tehnike za obdobje 2008-2012. Operacijo delno
Prikaži večPowerPoint Presentation
Poslovni analitik v agilnem svetu Prenova spletne strani Uvedba podpore za mobilne naprave Ineor d.o.o. O meni poslovni analitik izkušnje s tehnologijo (programiranje, razhroščevanje, inštalacije, administracija,...)
Prikaži večUNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Milan Derlink Testiranje primernosti uporabe NoSQL v okviru računovodske aplikacije DIP
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Milan Derlink Testiranje primernosti uporabe NoSQL v okviru računovodske aplikacije DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM
Prikaži več1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk
1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v
Prikaži večVedno pod nadzorom, kjerkoli že ste
Vedno pod nadzorom, kjerkoli že ste 02 Vedno pod nadzorom, kjerkoli že ste Daikin zagotavlja novo rešitev za nadzorovanje in krmiljenje glavnih funkcij stanovanjskih notranjih enot. Sistem deluje na uporabniku
Prikaži večPrekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan
Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajanje prekinitvene rutine Dogodek GLAVNI PROGRAM (MAIN-OB1)
Prikaži večZbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:
Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila
Prikaži večNa podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica nasl
Na podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica naslednji P RAVILNIK o izvajanju videonadzora I. SPLOŠNE
Prikaži večMicrosoft Word - NAVODILA ZA UPORABO.docx
NAVODILA ZA UPORABO VODILO CCM-18A/N-E (K02-MODBUS) Hvala ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shranite za prihodnjo rabo. Vsebina
Prikaži večDelavnica Načrtovanje digitalnih vezij
Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Programirljivi Digitalni Sistemi Digitalni sistem Digitalni sistemi na integriranem vezju Digitalni sistem
Prikaži večPogoji poslovanja Catena.si je spletna trgovina podjetja Catena d.o.o.. Pogoji poslovanja so sestavljeni upoštevajoč vse zakonske obveznosti in mednar
Pogoji poslovanja Catena.si je spletna trgovina podjetja Catena d.o.o.. Pogoji poslovanja so sestavljeni upoštevajoč vse zakonske obveznosti in mednarodne smernice za e-poslovanje, ki jih zastopa tudi
Prikaži večPRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA
KATALOG ZNANJA 1. IME PREDMETA OPERACIJSKI SISTEMI I OPERACIJSKI SISTEMI II 2. SPLOŠNI CILJI Splošni cilji predmeta so: ustvarjanje zmožnosti za vključevanje v procese skupin in organizacij (identifikacije
Prikaži večNEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in
NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?
Prikaži večLinksys PLEK500 User Guide
Uporabniški priročnik Linksys PLEK500 Omrežni vmesnik Powerline Vsebina Pregled............... 2 Funkcije..................... 2 Kako deluje omrežje Powerline 3 Primer namestitve 3 Namestitev omrežja Powerline.....
Prikaži večMicrosoft Word - UP_Lekcija04_2014.docx
4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in
Prikaži večEndNote Basic Online navodila za uporabo Vsebina 1 Kaj je EndNote Online? Dostop in prijava Ustvarjanje računa Uporaba
EndNote Basic Online navodila za uporabo Vsebina 1 Kaj je EndNote Online?... 2 2 Dostop in prijava... 3 2.1 Ustvarjanje računa... 3 3 Uporaba... 5 3.1 Dodajanje referenc... 5 3.2 Navodila za pripravo in
Prikaži večUniversal WiFi Range Extender WN3000RP Installation Guide
Navodila za namestitev kompleta Powerline Nano500 XAVB5101 2012 NETGEAR, Inc. Vse pravice pridržane. Nobenega dela tega dokumenta ni dovoljeno reproducirati, prenašati, prepisovati, shranjevati v sistemu
Prikaži večINDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ
INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ AGENDA IZZIV OZADJE RAZISKAVE POSNETEK STANJA ANALIZA STANJA in
Prikaži večMicrosoft Word - avd_vaje_ars1_1.doc
ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov
Prikaži večDiapozitiv 1
9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V
Prikaži večPowerApps
ko tehnologija postane brezmejna strast Microsoft PowerApps Uporabniška navodila Avtorji Brina Gomboc, Lucija Kos, Damjana Krampač Mentorici dr. Simona Sternad Zabukovšek Sara Cokan, mag. ekon. in posl.
Prikaži večAvtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri
Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo 36. Goljevščkov spominski dan Modeliranje kroženja vode in spiranja hranil v porečju reke Pesnice Mateja Škerjanec 1 Tjaša Kanduč 2 David Kocman
Prikaži večDiapozitiv 1
Odprta koda dr. Matej Mertik Fakulteta za informacijske študije v Novem mestu Sevno 13, pp 299, 8000 Novo mesto info at fis.unm.si, http://fis.unm.si Vsebina Kaj je odprta koda Razvoj Licence OKPO in EU
Prikaži večMicrosoft Word - bibliografske-zbirke-medicina.doc
Univerza v Ljubljani Filozofska fakulteta Oddelek za bibliotekarstvo, informacijsko znanost in knjigarstvo Sistemi za poizvedovanje Bibliografske zbirke področje medicine Mentor: doc.dr. Jure Dimec Avtorja:
Prikaži večMicrosoft Word - ARRS-MS-BR-07-A-2009.doc
RAZPIS: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slovenijo in Federativno Republiko Brazilijo v letih 2010 2012 (Uradni list RS št. 53/2009) Splošna opomba: Vnosna
Prikaži večMicrosoft Word - P-5_specifikacije.doc
Obrazec P-5 Specifikacije 24K110316»Vzdrževanje centralne rešitve enaročanje«tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...4 2. Opis...4 2.1 EČAKALNI SEZNAMI...5 2.2 ENAROČANJE...6
Prikaži večKazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij
Kazalo 1 DVOMESTNE RELACIJE 1 1.1 Operacije z dvomestnimi relacijami...................... 2 1.2 Predstavitev relacij............................... 3 1.3 Lastnosti relacij na dani množici (R X X)................
Prikaži večCODEKS IP KAMERA
CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,
Prikaži večMicrosoft PowerPoint - Lapajne&Randl2015.pptx
RAZISKAVA OB PREDVIDENI SELITVI KNJIŽNIC OHK Raziskava je potekala v okviru predmetov Raziskovalne metode in Uporabniki informacijskih virov in storitev pod mentorstvom treh profesorjev (dr. Pisanski,
Prikaži večSQL doc. dr. Evelin Krmac RELACIJSKE PODATKOVNE BAZE Relacijski model organizacije podatkov podatki predstavljeni preko relacij 2D tabel operacije se
SQL RELACIJSKE PODATKOVNE BAZE Relacijski model organizacije podatkov podatki predstavljeni preko relacij 2D tabel operacije se izvajajo preko enega jezika (npr. SQL) omogoča izvajanje osnovnih relacijskih
Prikaži večPostavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv
Postavka Naziv storitve Enota mere Cenik velja od 1. 8. 2019 dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitve 1.1. Poslovni net paket 1.1.1. Naročnina 32,790 40,00
Prikaži večOptimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije
Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano
Prikaži večČlen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0
Člen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0 Hz Neomejeno 49,0 Hz-51,0 Hz Neomejeno 51,0 Hz-51,5
Prikaži večDiapozitiv 1
REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO Dnevi slovenske informatike 2019 NOVOSTI NA PODROČJU STORTEV ZAUPANJA DRŽAVNEGA CENTRA SI-TRUST Dr. Alenka Žužek Nemec 16. april 2019 e-identitete v Sloveniji
Prikaži večVSEBINSKI NASLOV SEMINARSKE NALOGE
Univerza v Ljubljani Naravoslovnoteniška fakulteta Oddelek za tekstilstvo VSEBINSKI NASLOV SEMINARSKE NALOGE TITLE IN ENGLISH Avtorja: Študijska smer: Predmet: Informatika in metodologija diplomskega dela
Prikaži večPowerPoint Presentation
Zapisovanje učnih izidov Bled, 21.1.2016 Darko Mali ECVET ekspert, CPI Pojmi: Kvalifikacija Kompetenca Učni cilji Učni izidi Enote učnih izidov Kreditne točke Programi usposabljanja NE! 2 Učni cilji kompetence
Prikaži večStrojna oprema
Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT
Prikaži večMicrosoft Word - A-3-Dezelak-SLO.doc
20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe
Prikaži večPowerPointova predstavitev
Izkušnje pri prilagoditvi e-storitev AJPES zahtevam eidas za čezmejno priznavanje Marjan Babič, AJPES 11. 12. 2018 Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije
Prikaži večNameščanje Adopt Open Java Development Kit 8
Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...
Prikaži večDiapozitiv 1
RAČUNALNIŠKA ARHITEKTURA 9 Pomnilniška hierarhija RA - 9 2018, Škraba, Rozman, FRI Pomnilniška hierarhija - vsebina 9 Pomnilniška hierarhija - cilji: Osnovno razumevanje : Lokalnosti pomnilniških dostopov
Prikaži večINFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ
INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ Border Memorial: Frontera de los Muertos, avtor John Craig Freeman, javno umetniško delo obogatene resničnosti,
Prikaži večNameščanje Adopt Open Java Development Kit 8
Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...
Prikaži več