Databázové systémy přednáška 11 – NoSQL

Slides:



Advertisements
Podobné prezentace
Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Osobní management Tomáš Procházka.
Advertisements

Téma: Využití Accessu pro tvorbu evidence našeho podnikání Vypracovala: Jana Wasserbauerová.
Školení MS Word 2007 pro začátečníky RNDr. Milan Zmátlo MěÚ Třebíč, říjen 2011 Vzdělávání v eGON centru Třebíč Tento.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons. ze sady:3tematický.
Inf Používání a tvorba databází. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
Školení MS Excel 2007 pro začátečníky RNDr. Milan Zmátlo MěÚ Třebíč, listopad-prosinec 2010 Vzdělávání v eGON centru.
Počítačové sítě 8. Využití sítí © Milan Keršlágerhttp:// Obsah: ● sdílení v sítích.
Elektronické učební materiály - II. stupeň Digitální technologie 9 Autor: Bc. Pavel Šiktanc Movie Maker uložení a sdílení filmů Co se všechno naučíme???
Databázové systémy Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Josef Ledvoň. Dostupné z Metodického portálu ISSN: , financovaného.
POS 40 – 83. Základy datové komunikace - MULTIPLEX Kmitočtovým dělením (FDMA) – Přidělení kmitočtu jednotlivým uživatelům = šířka pásma se rozdělí na.
Název materiálu: Internetová úložiště Anotace: Výklad nového učiva Autor: Iveta Pasterňáková, 2013 Ověření ve výuce , 5.třída Vyučovací předmět:
Název školyZákladní škola praktická Rožnov pod Radhoštěm Číslo projektuCZ / / Číslo materiáluVY_32_INOVACE_225 AutorMgr. Romana Rybiařová.
Autor: Předmět: Ročník: Název: Označení: DUM vytvořen: Mgr. Hana Němcová Matematika, seminář diferenciální a integrální počet Osmý ročník víceletého gymnázia.
Management počítačových sítí Počítačové sítě VUT v Brně Fakulta podnikatelská Lekce 4 – Management síťové vrstvyIng. Viktor Ondrák, Ph.D.strana 1 Lekce.
Síťové operační systémy OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
VideoWeb: Webová aplikace pro správu domácí videotéky Adam Melkus, Radek Jirovský, Jakub Kutil, Hoa Quoc TranPB138
Databázové systémy Roman Danel Institut ekonomiky a systémů řízení 2016.
Databáze © Mgr. Petr Loskot
Úvod do databází MS Access (1).
HTML a CSS Rostislav Miarka.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
Systémové databáze v SQL Serveru
Síťové Protokoly.
Letecká informační služba pro GA 2017
Číselné množiny - přehled
Jak ulehčit mladým rodičům – denní péče o děti z pohledu zaměstnavatelů a rodičovských iniciativ Rosa Hochschwarzer Zemské sdružení.
Vytvořil: Robert Döring
Software počítače – opakování
COM – Práce s objektovým modelem jiné aplikace
6. Kinematika – druhy pohybů, skládání pohybů
1. ročník oboru Mechanik opravář motorových vozidel
Databázové systémy a SQL
MODELY TEORIE GRAFŮ.
ORGANIZACE DAT V POČÍTAČI
Architektura UIS Bc. Tomáš Procházka Sekce jádra systému Vývojový tým Univerzitního informačního systému Mendelova zemědělská a lesnická univerzita v.
Přístupový systém aneb kontrola vstupů
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
Pásma požáru Požár a jeho rozvoj.
NÁZEV ŠKOLY: ZŠ J. E. Purkyně Libochovice
Střední odborná škola a Střední odborné učiliště, Hradec Králové, Vocelova 1338, příspěvková organizace Registrační číslo projektu: CZ.1.07/1.5.00/
Databáze MS ACCESS 2010.
Abstract Factory.
Základy informatiky Databázové systémy
Vkládání dat MS Access (5).
Databázová aplikace 1 Aplikace soubory se sekvenčním přístupem
Běžné reprezentace grafu
OBJEM JEHLANU VY_42_INOVACE_ 30_02.
DIGITÁLNÍ UČEBNÍ MATERIÁL
Zlomky Část celku VY_42_INOVACE_20_01.
Databázové systémy, datové modelování
Popis výukového materiálu Název: PowerPoint
Informatika pro ekonomy přednáška 8
GDPR: ochrana osobních údajů
Databázové systémy a SQL
MS Excel – příklady na databázové funkce
Microsoft Office Access
Power BI – Datové modelování a optimalizace
Corel PHOTO-PAINT Úloha 3 Zpracovala: Mgr. Jitka Hotařová
Materiál byl vytvořen v rámci projektu
A5M33IZS – Informační a znalostní systémy
Přednášky z Distribuovaných systémů
Fronta (1) Dynamická datová struktura typu FIFO (First In First Out)
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
3. Odborná literatura, její zdroje na internetu a PřFUK
Informatika pro ekonomy přednáška 8
Relační databáze na příkladu aplikace Microsoft Access
Algoritmizace a datové struktury (14ASD)
Hodnocení, realizace a kontrolní etapa
SQL Server 2017: Automatic tuning
Transkript prezentace:

Databázové systémy přednáška 11 – NoSQL Roman Danel Institut ekonomiky a systémů řízení 2016

Objektové db Informace jsou reprezentovány ve formě objektů jako u OO programování OQL – Object Query Language Rychlejší přístup na data, protože oproti relačním není třeba vytvářet join spojení Programovací jazyky a definice databázových objektů používají stejné struktury Object Data Management Group (ODMG)

Objektové databáze - příklad http://en.wikipedia.org/wiki/Object_database

OQL Object Query Language Podobný SQL-92 Nezabývá se tvorbou datových struktur

Objektové databáze Caché (InterSystems) Gemstone Objectivity/DB ObjectStore O2

InterSystems Caché Data uložena v stromové struktuře; globály Objekty jsou organizovány do tříd, definice uloženy v Caché Class Dictionary, zkompilováním zajištěn objektový i relační přístup Caché ObjectScript http://www.intersystems.com/ Zdravotnictví, astronomie CSP - Caché Server Pages, Caché SQL Gateway

Principy relačních db Struktura definována na začátku -> ERD Optimalizace -> 3NF Struktura se v průběhu provozu nemění Transakce – ACID Konzistence dat Větší výkon –> výkonnější server

NoSQL databáze

Vznik NoSQL Vzrůstající objem dat Rostoucí propojitelnost dat Ztráta předvídatelné architektury Současná architektura aplikací ACID zbytečně restriktivní Neznáme dopředu přesnou strukturu dat Výpadek je normální a umíme na něho reagovat

Kdy nepoužívat NoSQL Potřebuji-li transakce Chci mít pevnou strukturu (schéma) Potřebuji spojovat tabulky

Rozdělení noSql databází Dokumentové databáze (Document stored) – místo s řádkem pracují s dokumentem CouchDB, MongoDB Databáze klíč – hodnota (Key-value); důraz na rychlost Memcached, Riak, Redis, Cassandra Sloupcové databáze (Column) – data se ukládají do sloupců, lze je přidávat, vhodné pro datové sklady Grafové (Graph database) – uzly a hrany – vztahy mezi sousedy – nalezení souvislostí

Zdroj: http://www.datastax.com/

NoSql databáze CouchDB Cassandra MongoDB Redis MemCache Google BigTable http://bigdata-madesimple.com/a-deep-dive-into-nosql-a-complete-list-of-nosql-databases/

http://nosql.mypopescu.com/post/1016366403/nosql-guide-for-beginners

Key-value databáze Asociativní pole nebo hashovací tabulka s ukládáním hodnot podle unikátního klíče; jmenné prostory pro oddělení dat Serializovaná dats (protokoly Apache Thrift, Protocol Buffers…) Rychlé vytvoření, rychlost práce s daty Základní API – operace GET, PUT, DELETE

Redis Open-source BSD licence In-memory http://redis.io

Dokumentové databáze Datový model „dokument“ – datová struktura se samopopisným charakterem Dokumenty používají pro ukládání dat i pro komunikaci s klienty Relační i objektové mapování Vhodné pro úlohy, kde je vazba na reálné měnící se dokumenty

Pojmy MapReduce – algoritmus k výpočtu pohledu, klient-server, dotazy B- tree – struktura JSON (JavaScript Object Notation) – zápis krátkých strukturovaných zpráv pro výměnu dat mezi aplikacemi (alternativa k XML) BSON – Binary JSON (http://bsonspec.org/)

Formát JSON JavaScript Object Notification JSON - odlehčený formát pro výměnu dat Kolekce párů název/hodnota. 4 datové typy (řetězec, číslo, logická hodnota, null) a dva strukturované (objekt, pole) Výhody Rychlá práce s velkým objemem dat Jednoduchost; knihovny pro různé jazyky

JSON - příklad

BSON příklad

CouchDB Open source, dokumentově orientovaná db 2005, Damien Katz, Erlang Apache Software Foundation Kolekce JSON dokumentů, dotazy prostřednictvím pohledů Obousměrná replikace, offline provoz RESTful http API Verzování dokumentu při změně

CouchDB – Futon front-end

MongoDB MongoDB - dokumentová databáze, 10gen Vytvořena v C++ Data jsou ve formátu BSON www.mongodb.org eBay, SourceForge, New York Times, Craiglist...

MongoDB Dokumenty Ad-hoc dotazy Replikace Vyvažování zátěže – sharding -možnost běhu na více serverech GridFS – možnost použít jako souborový systém

MongoDB

Relační db x MongoDB

Sloupcové databáze 2008, Google – datový model BigTable Cassandra, HBase Datový model: Row (identifikovaný Row Key) Má mnoho sloupců; každý má název, hodnotu a časové razítko Sloupce mohou být sdruženy do rodin sloupců (columns family), ty mohou obsahovat superslopuce -> tabulková struktura Některé db podporují SQL, některé jen JAVA API nebo Hadoop (Hive)

Grafové databáze Graf - dvojice množin vrcholů (uzel, Vertices) a hran (vztahy mezi objekty, Edges, mají atributy) Orientované, neorientované Orientaci rozpoznáváme pomocí hran, které nám v grafu určují směr z daného vrcholu do dalšího Strom - souvislý graf, který neobsahuje kružnice Kořen stromu - nejvyšší uzel, který nemá žádného rodiče a je v grafu ojedinělý Základní typy hran neorientovaná hrana – neuspořádaná dvojice vrcholů, která nemá určený směr průchodu a hranou lze procházet oběma směry orientovaná hrana – uspořádaná dvojice vrcholů, která má určený směr průchodu a hranou lze procházet pouze vyznačeným směrem násobné hrany – více hran spojujících stejné vrcholy smyčka – hrana vedoucí z vrcholu do téhož vrcholu, tedy do sebe samotné

http://www. computerweekly http://www.computerweekly.com/feature/Whiteboard-it-the-power-of-graph-databases

Grafové databáze Každý vrchol obsahuje přímé odkazy na své sousedy Nativně ukládají grafové struktury, přičemž se eliminují všechny nepříjemné problémy s pokusy uložit graf (strom) do relační databáze Sociální sítě a projekty – propojenost mezi daty Nejsou vhodné pro distribuovaná data

Grafové databáze Traverzování – návštěva všech vrcholů grafu Sociogram – grafické znázornění sociálních vztahů http://obchodni-rejstrik.podnikani.cz/ Interest graph – není požadována známost mezi uživateli, ale zda spolu něco sdílejí

Grafové databáze Sones Graph DB Allegro Graph Neo4j FlockDB InfiniteGraph Sparksee OrientDB

Nativní XML databáze Kolekce, XML schéma, pokročilý dotazovací jazyk Xquery, indexy Použití – ukládání strukturovaných dokumentů s full-textovým vyhledáváním eXist http://exist.sourceforge.net/ Rozdělení zaměřené na data (data based) zaměřené na dokument (document based)

Cloudové databáze SQL Server Azure BigTable Oracle Cloud Apache Hadoop