Nerelační databázové modely. Helena Palovská

Podobné dokumenty
Analýza a modelování dat 2. přednáška. Helena Palovská

RELAČNÍ DATABÁZE. Cíl:

Databáze I. 1. přednáška. Helena Palovská

Databáze II. 1. přednáška. Helena Palovská

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

8.2 Používání a tvorba databází

Databázové systémy Cvičení 5.2

Ukládání a vyhledávání XML dat

Analýza a modelování dat 3. přednáška. Helena Palovská

Databáze I. 5. přednáška. Helena Palovská

12. Postrelační databázové systémy

12. Postrelační databázové systémy

Objektově relační databáze a ORACLE 8

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Databáze I. Přednáška 7

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Úvod do databázových systémů. Ing. Jan Šudřich

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Analýza a modelování dat. Přednáška 5

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Analýza dat a modelování. Přednáška 3

Objektově orientované databáze. Miroslav Beneš

Hadoop a HDFS. Bc. Milan Nikl

Michal Krátký, Miroslav Beneš

Databázové a informační systémy Jana Šarmanová

Úvod do databázových systémů

Oracle XML DB. Tomáš Nykodým

Databázové a informační systémy

O Apache Derby detailněji. Hynek Mlnařík

Databázové systémy.

Dolování v objektových datech. Ivana Rudolfová

MBI - technologická realizace modelu

Databázové systémy. Cvičení 6: SQL

12. blok Pokročilé konstrukce SQL dotazů - část II

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Databáze II. 2. přednáška. Helena Palovská

Použití databází na Webu

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Databáze I. Přednáška 4

Úvod do databázových systémů

Hierarchický databázový model

Geografické informační systémy p. 1

Datové modelování II

Analýza a modelování dat 6. přednáška. Helena Palovská

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Databázové systémy. modelování. Tomáš Skopal. - úvod. - konceptuální datové

Informační systémy ve zdravotnictví. 6. cvičení

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

B Organizace databáze na fyzické úrovni u serveru Oracle

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Architektury databázových

Abstraktní datové typy Objektový přístup v Oracle

Fyzické uložení dat a indexy

Operátory ROLLUP a CUBE

Databázové systémy. Ing. Radek Holý

Využití XML v DB aplikacích

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

13. blok Práce s XML dokumenty v databázi Oracle

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

PRODUKTY. Tovek Tools

Analýza dat a modelování. Přednáška 2

PRODUKTY. Tovek Tools

NoSQL databáze. Marek Rychlý (a Dušan Kolář) Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů

Analýza a modelování dat. Přednáška 8

Marketingová komunikace. 1. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3aph)

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Dotazovací jazyky I. Datová krychle. Soběslav Benda

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Analýza a modelování dat 5. přednáška. Helena Palovská

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Databázové systémy úvod

DATABÁZE A INFORMAČNÍ SYSTÉMY

Windows Server 2003 Active Directory

DBS Databázové modely

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Maturitní témata Školní rok: 2015/2016

Business Intelligence

Databázové systémy. Přednáška 1

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Okruhy z odborných předmětů

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112

TimescaleDB. Pavel Stěhule 2018

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Transkript:

Nerelační databázové modely Helena Palovská palovska@vse.cz

Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový 1990 multidimenzionální objektově-relační 2000 skupina NoSQL 2010 objektověrelační objektové datové sklady klíč-hodnota dokument. sklady rodiny sloupců grafové

Hierarchická organizace Vazby nadřízený záznam podřízený záznam Žádný záznam nemá dva nadřízené Databáze je lesem stromů.

Příklady hierarchické organizace Fyzická pošta Územní správa Internetové domény Firemní organizace File system Textové dokumenty XML

Příklad objednávky

Příklad oddělení ve firmě <oddělení cisodd=2> <šéf>jan Novák</šéf> <zaměstnanci> <zaměstnanec> <jméno>petr Novotný</jméno> <od>14.5.1999</od> </zaměstnanec> <zaměstnanec> <jméno>alena Černá</jméno> <od>3.6.2004</od> </zaměstnanec> </zaměstnanci> <místnosti> <místnost číslo=''45''> <počítače> <počítač idpoč=''24893''> <monitor idmonit=''5563''>... </monitor>... </místnosti> </oddělení>

Hierarchická identifikace & serializace 0 0 0.6 0.6.5 0.6.4 0.6.4.3 0.6.4.2 0.6.4.2... 0.8 0.8.7 0.8.9 0.12 0.12.11 0.12.11.10 0.12.11.13 0.12.11.13... 0.12.14 0.12.15 0...

Porovnání s relačním řešením hierarchie 0 ID data nadr 0... - 6... 0 8... 0 12... 0 5... 6 4... 6 7... 8 9... 8 3... 4 2... 4 11... 12 14... 12 15... 12 10... 11 13... 11.........

Vlastnosti hierarchického modelu Přednosti: Lze efektivně serializovat (co patří k sobě je u sebe) Přístupové cesty: Nadřazený prvek zná cesty k jemu podřízeným, ne vždy lze efektivně obráceně Zpracování: Dle přístupových cest a pravidel v daném typu uzlu Omezení modelu: Vztahy N:M způsobují redundanci (někdy lze řešit pomocí konstrukce odkazů) Upřednostnění jednoho pohledu na data (příklad ceník )

Příklad - ceník

Hierarchické databáze Příklady IBM IMS Caché

Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový 1990 multidimenzionální objektově-relační 2000 skupina NoSQL 2010 objektověrelační objektové datové sklady klíč-hodnota dokument. sklady rodiny sloupců grafové

Síťové databáze Záznam může mít více předchůdců, ale v daném typu vztahu jen jednoho. Například otce a matku.

Fyzická realizace Každý vztah realizován směrníky v rámci záznamů. Božena Alice Vojtěch Pro možnost procházení všech potomků v daném vztahu jsou potomci propojeni do spojového seznamu, začínajícího jejich předchůdcem v tomto vztahu. Božena matka potomci Jakub Petr Alice další sourozenec ze strany matky další sourozenec ze strany matky

Síťové databáze Pro vztah N:M tvořeny průnikové typy záznamů například pro vztah OSOBA se účastní AKCE je potřeba typ záznamu ÚČAST

Vlastnosti síťového modelu Přednost Rychlost provádění navigačních dotazů Problémy: Obtížnost udržení integrity pro vztahy N:M Obtížně realizovaná dědičnost Obtížně realizovatelné vztahy 1:1 Nedostupnost nepropojených záznamů Dotazy a manipulace pouze procedurální podle předem definovaných vazeb

Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový 1990 multidimenzionální objektově-relační 2000 skupina NoSQL 2010 objektověrelační objektové datové sklady klíč-hodnota dokument. sklady rodiny sloupců grafové

Objektový databázový model Objektový model podle OMG objekty stejné třídy mají stejné chování a stejnou množinu stavů interpretace odkazů na objekty jako vztahů Standardy ODMG 3.0 (2001) (standard nedefinuje syntaxi jazyka, ale jen sémantiku) JDO 2006 ODBT WG Dotazovací jazyk OQL

Speciální konstrukce ODMG ODL SET BAG ARRAY STRUCT LIST

Příklad ODMG ODL

Dotazovací jazyk OQL - příklady SELECT c.lives_in.building.address FROM p IN Person, c IN p.children; výsledkem je Bag SELECT STRUCT( me:p.name, my_address:p.lives_in.building.address) FROM p IN Person WHERE ; výsledkem je struktura Do SELECT možno i zahnízďování struktur, i metody V ad-hoc dotazech se připouští porušení zapouzdření

Vlastnosti objektových databází Jazyk manipulace dat není samostatně definován, jsou definována propojení s objektovými programovacími jazyky Standard ODMG není implementován, jednotlivé SŘBD nejsou interoperabilní Gemstone, Caché, Objectivity/DB, ObjectStore, Versant... JDO Rozšiřování OO jazyků o perzistenci

Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový 1990 multidimenzionální objektově-relační 2000 skupina NoSQL 2010 objektověrelační objektové datové sklady klíč-hodnota dokument. sklady rodiny sloupců grafové

Objektově-relační model Rozšíření relačního modelu, SQL 1999 Obsahuje: Objektovou identitu a reference Funkce, uložené procedury, triggery Složité datové struktury Pole, hnízděné tabulky,... Strukturované hodnoty Dědičnost Rozšiřitelnost datových typů DML s objektovými rysy

Složité datové struktury Možno i jako řádkový typ při CREATE TABLE "lineitems" mohou byt logicky dostupné v "nested table" (ORACLE)

Objektová identita v SQL 1999 Záznamy mohou mít OID Mohou existovat pole typu REF nelze s nimi manipulovat jako s hodnotou, ale jen jako s odkazem SELECT U.Vlastnik.Jmeno FROM Ucty U WHERE U.Vlastnik.Adresa.Mesto= Pardubice AND U.Zustatek>100000; Tabulka Ucty má pole Vlastnik typu REF do tabulky Klient, tabulka Klient má pole Jmeno a pole Adresa strukturovaného typu.

Různé modely pro databázovou strukturu databázové modely 1960 SŘBD hierarchický, síťový relační 1970 1980 hierarchické, síťové relační objektový 1990 multidimenzionální objektově-relační 2000 skupina NoSQL 2010 objektověrelační objektové datové sklady klíč-hodnota dokument. sklady rodiny sloupců grafové

NoSQL databáze Motivace Obrovské objemy dat (Google, Amazon, Facebook) Vysoká dostupnost Časté změny schématu Specifické požadavky

Klíč hodnota (nejstarší NoSQL model) Již v r. 1979, jako utilitární modul Názvy modelu: asociativní pole, mapa, dictionary, hash Struktura klíč unikátní identifikátor záznamů hodnota vlastní data záznamu (~blob) Jediný přístup k datům je pomocí klíče

Obrovské objemy dat Distribuce do mnoha uzlů sítě serverů často levné servery Opatření: Sharding Replikace

Sharding Dělení záznamů do uzlů dle hodnot klíče Cíl rovnoměrná distribuce po uzlech Automaticky prováděná Lze definovat pravidla např. pro lokální blízkost

Replikace Cíl - vysoká dostupnost 1 master, několik slave serverů v clusteru Čtení dat z replik, zápis dat na master Role master může putovat mezi uzly clusteru Systém propaguje zápisy na repliky eventual consistency uživatel může nějakou dobu číst zastaralá data, nakonec se to strovná ev. volitelně ACID

NoSQL modely Klíč hodnota základ všech ostatních modelů Vnitřní strukturovanost hodnoty Dokumentově orientované (Document Stores) Rodiny sloupců (Column Families) Provázání záznamů Grafové Přehled NoSQL databází: http://nosql-database.org/

NoSQL modely Klíč hodnota základ všech ostatních modelů Vnitřní strukturovanost hodnoty Dokumentově orientované (Document Stores) Rodiny sloupců (Column Families) Provázání záznamů Grafové

Document Stores Záznam strukturován jako datový agregát Atributy Zanořování struktur Vícehodnotovost Používané formáty: XML YAML JSON BSON formát JSON { "krestnijmeno": "Helena", "prijmeni": "Palovská", "tituly": { "predjmenem": "RNDr.", "zajmenem": "PhD.", }, "telefon": [ { "typ": "kancelář", "cislo": "224095458" }, { "typ": "mobilní", "cislo":... }, ] }

Struktura záznamů NoSQL Není stanovené schéma Každý dokument může mít jinou strukturu Někdy podporovány datové typy Někdy uchovávány verze záznamů, dostupné dle časových razítek

Přístupové cesty v Document Stores Základem je přístup pomocí klíče Datové agregáty je možno indexovat dle nějakých atributů Dle atributů je možno vyhledávat (filtrovat) dotazovací jazyky podobné SQL bez JOINů!

Column families Motivace: různé části záznamů jsou vyhledávány a zapisovány nezávisle na sobě tyto různé části mohou být nezávisle na sobě ukládány, i na různých uzlech sítě serverů Záznamy jsou rozvrženy do rodin sloupců V rodině sloupců mohou být sloupce s různým typem informace (strukturovaná rodina sloupců) více sloupců se stejným typem informace (vícehodnotová rodina sloupců)

Column Families V každém záznamu, v každé jeho rodině sloupců, mohou být jiné sloupce. Rodiny sloupců tedy nemají pevné schéma.

Column Families Standardní, tj. plochá obyčejné atributy sloupce může být určeno řazení sloupců v dané rodině Super Column Family zanořuje několik rodin sloupců

Příklad jednoho záznamu v Column Family databázi http://en.wikipedia.org/wiki/keyspace_(distributed_data_store)

Zpracování dat v NoSQL Dle klíčů záznamů Verze záznamů kromě jiného řeší aktualizační konflikty MapReduce pro agregace

MapReduce Google techologie, zpřístupněna Distribuce úloh (Map i Reduce) do uzlů Funkce Map vybírá potřebné klíč-hodnota páry z agregátů Funkce Reduce postupně vypočítává agregaci http://alpha.mixi.co.jp/entry/2009/10724/

vypočti minimum hodnoty pro každý klíč https://www.datadr.org/doc/_images/combiner.png