CORE013 / Barbora Bühnová1 Přednáška 7 Práce s daty CORE013 Vývoj softwarových systémů: od myšlenky k funkčnímu řešení CORE013 / Barbora Bühnová2 7. Práce s daty ̶ Využití dat ̶ Velká data ̶ Databáze, cloud computing ̶ Správa dat, data science ̶ Digitální stopa uživatele, etické kontroverze CORE013 / Barbora Bühnová3 21. STOLETÍ – DOBA DATOVÁ CORE013 / Barbora Bühnová4 Motivace CORE013 / Barbora Bühnová5 Koloběh inovací © Jan Bosch CORE0136 CORE013 / Barbora Bühnová7 (VELKÁ) DATA CORE013 / Barbora Bühnová8 Data ̶ Informace převedené do binární digitální podoby ̶ informace převedené do formy, která je efektivní pro přenos a zpracování. ̶ Lze je vytvářet, zpracovávat, ukládat a uchovávat v digitální podobě. ̶ To umožňuje přenášet data z jednoho počítače do druhého ̶ Digitální informace (tj. data) ve srovnání s analogovými informacemi se v průběhu času nezhoršuje a po použití neztrácí kvalitu https://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Dat a_types_-_en.svg/300px-Data_types_-_en.svg.png CORE013 / Barbora Bühnová9 Velká data ̶ Soubor dat, který je obrovský nebo exponenciálně roste s časem. ̶ Zpracování pomocí tradičních databázových a softwarových nástrojů je obtížné nebo nemožné. ̶ Charakteristika - 5 V's: ̶ Volume – objem dat je obrovský ̶ Variety – rozmanitost, různé zdroje a formát dat ̶ Velocity – data jsou generována velmi rychle ̶ Veracity – data jsou ověřena a validována ̶ Value – data mají vysokou hodnotu https://img.techentice.com/media/ 2019/04/5_V_Big_data-1.png CORE013 / Barbora Bühnová10 Velká data https://data-flair.training/blogs/wp-content/uploads/sites/2/2019/12/top-big-data-applications-2-1280x720.jpg CORE013 / Barbora Bühnová11 DATABÁZE CORE013 / Barbora Bühnová12 Databáze ̶ Uspořádané uložiště ̶ Podporuje přístup k datům, jejich ukládání a manipulaci s nimi. ̶ Obvykle jako řádky a sloupce v tabulce. ̶ Nejpoužívanějším jazykem je SQL (Structured Query Language). ̶ Řízeno systémem pro správu databází (DBMS) CORE013 / Barbora Bühnová13 Databáze https://asesoftware.com/site/wp-content/uploads/2019/06/asesoftware-sql-nosql.png CORE013 / Barbora Bühnová14 Relační databáze ̶ Ukládá data jako řadu dvourozměrných tabulek s řádky a sloupci s předem definovanými vztahy mezi daty. ̶ Vztah mezi tabulkami a typy polí se nazývá schéma. Schéma musí být jasně definováno před přidáním jakýchkoli informací. ̶ Každá tabulka má své vlastní sloupce a každý řádek v tabulce má stejnou sadu sloupců a jedinečné ID nazývané klíč. ̶ Pro dotazování se používá strukturovaný dotazovací jazyk (SQL). CORE013 / Barbora Bühnová15 Relační databáze ̶ Používá se v: ̶ Transakčně orientované systémy ̶ Účetní software ̶ Nástroje pro řízení ̶ Příklady zahrnují: ̶ PostgreSQL ̶ MySQL https://assets-global.website- files.com/5debb9b4f88fbc3f702d579e/5e3c1a71724a38245aa43b02_99bf70d46cc247be878de9d3a88f0c4 4.png CORE013 / Barbora Bühnová16 Databáze klíč-hodnota ̶ NoSQL databáze. ̶ Ukládá data jako kolekci dvojic klíč-hodnota, v níž klíč slouží jako jedinečný identifikátor. ̶ Datová struktura, která je dnes známá spíše jako slovník. ̶ Nemá dotazovací jazyk; poskytuje jednoduchý způsob ukládání, dotazování a aktualizace dat pomocí příkazů get, put a delete - není optimalizován pro dotazování podle hodnoty. CORE013 / Barbora Bühnová17 Databáze klíč-hodnota ̶ Používá se v: ̶ Nákupní košík v e-shopech ̶ Ukládání do mezipaměti ̶ Hry pro více hráčů ̶ Příklady zahrnují: ̶ Redis ̶ Apache Cassandra ̶ Amazon Dynamo DB ̶ Microsoft Azure Cosmos DB https://www.michalbialecki.com/wp-content/uploads/2018/03/cosmos-db-key-value-schema.png CORE013 / Barbora Bühnová18 Dokumentové databáze ̶ NoSQL databáze, která uchovává soubor pojmenovaných polí a dat (tzv. dokumentů). ̶ Uložená data mohou být zakódována v různých formátech, např. XML, YAML, JSON, prostý text. ̶ Nevyžaduje, aby všechny dokumenty měly stejnou strukturu – poskytuje flexibilitu pro ukládání různých dat ̶ Umožňuje dotazování a filtrování dokumentů podle hodnoty jednoho nebo více polí a úpravu hodnot bez přepisování celého dokumentu. CORE013 / Barbora Bühnová19 Dokumentové databáze ̶ Používá se v: ̶ Profily uživatelů ̶ Velká data v reálném čase ̶ Správa obsahu ̶ Příklady zahrnují ̶ MongoDB ̶ Úložiště Google Cloud Firestore ̶ Microsoft Azure Cosmos DB https://lennilobel.files.wordpr ess.com/2015/07/i4.png CORE013 / Barbora Bühnová20 Grafové databáze ̶ NoSQL databáze, která uchovává dva typy informací, uzly a hrany. ̶ Uzly obvykle uchovávají informace o osobách, místech a věcech, zatímco hrany uchovávají informace o vztazích mezi uzly. ̶ Vztahy umožňují přímé propojení dat v databázi a jejich načtení pomocí jedné operace. ̶ Poskytuje dotazovací jazyk, který lze použít k efektivnímu procházení sítě vztahů. CORE013 / Barbora Bühnová21 Grafové databáze ̶ Používá se v: ̶ Sociální sítě ̶ Odhalování podvodů ̶ Recommendation engines ̶ Příklady zahrnují: ̶ Neo4j ̶ Amazon Neptun ̶ Apache Giraph https://docs.microsoft.com/en-us/azure/architecture/guide/technology- choices/images/graph.png CORE013 / Barbora Bühnová22 Cloud Computing ̶ Cloud computing ̶ Dostupnost zdrojů počítačového systému na vyžádání, zejména úložiště dat a výpočetní výkon, bez přímé aktivní správy uživatelem. ̶ Včetně serverů, úložišť, databází, sítí, softwaru, analytiky a zpracování – přes internet („cloud“) ̶ Výhody ̶ Elasticita ̶ Výkonnost ̶ Cena CORE013 / Barbora Bühnová23 Cloud Computing ̶ Modely služeb ̶ Infrastructure as a service (IaaS) ̶ Platform as a service (PaaS) ̶ Software as a service (SaaS) CORE013 / Barbora Bühnová24 SPRÁVA DAT CORE013 / Barbora Bühnová25 Správa dat ̶ Administrativní proces, který zahrnuje získávání, ověřování, ukládání, ochranu a zpracování požadovaných údajů, aby byla zajištěna jejich dostupnost, spolehlivost a aktuálnost pro uživatele. ̶ Zahrnuje celý životní cyklus dat, od počátečního vytvoření dat až po jejich konečné vyřazení. ̶ Zahrnuje lidi, procesy a technologie potřebné ke správě a ochraně dat společnosti s cílem zajistit obecně srozumitelná, správná, úplná, důvěryhodná, a bezpečná data. ̶ Některé společnosti umí dobře shromažďovat data, ale neumí je dostatečně dobře spravovat, aby z nich dokázaly vytvořit hodnotu. CORE013 / Barbora Bühnová26 Hlavní cíle správy dat ̶ Minimalizace rizik ̶ Stanovení interních pravidel pro používání dat ̶ Provádění požadavků na shodu ̶ Zlepšení interní a externí komunikace ̶ Zvýšení hodnoty dat ̶ Usnadnění správy výše uvedené ̶ Snížení nákladů ̶ Pomáhat zajistit další existenci společnosti prostřednictvím řízení rizik a optimalizace. https://bi-survey.com/wp-content/uploads/2017/11/Data- Governance-topics.png CORE013 / Barbora Bühnová27 Životní cyklus dat ̶ Přehled fází úspěšné správy a uchovávání dat pro použití a opakované použití. ̶ Sběr / vytváření dat ̶ Ukládání dat ̶ Používání dat ̶ Zveřejnění dat ̶ Archivace dat ̶ Likvidace dat https://www.nexor.com/wp/wp-content/uploads/2017/03/Enabling-Secure- Information-Exchange-in-Cloud-environments-white-paper-diagram-1.png CORE013 / Barbora Bühnová28 ZPRACOVÁNÍ DAT (DATA SCIENCE) CORE013 / Barbora Bühnová29 Čištění dat https://medium.com/@nicklauswinters/data-cleaning-22b790eea834 CORE013 / Barbora Bühnová30 Vizualizace dat https://www.mindbowser.com/data-visualization-how-to-use-it-to-your-advantage/ CORE013 / Barbora Bühnová31 Vizualization Dashboards https://public.tableau.com/app/profile/federal.trade.co mmission/viz/FraudandIDTheftMaps/AllReportsbyState Tableau Public ̶ Tableau Public access https://public.tableau.com/en-us/s/download ̶ Tutorials https://public.tableau.com/en-us/s/resources https://public.tableau.com/app/profile/federal.trade.commission/viz/FraudandIDTheftMaps/AllReportsbyState CORE013 / Barbora Bühnová32 Machine learning http://www.favouriteblog.com/15-algorithms-machine-learning-engineers/ CORE013 / Barbora Bühnová33 Umělá inteligence https://miro.medium.com/max/1400/1*xiTy-b6dvVU8sDeWROcamg.png CORE013 / Barbora Bühnová34 Hodnota dat ̶ Kde lze využít data ̶ reklama, ̶ predikce, ̶ pochopení zákazníka, ̶ zajištění bezpečnosti anomaly detection https://www.statista.com/chart/24495/apps-sharing- personal-information-with-third-parties/ CORE013 / Barbora Bühnová35 Digitální stopa uživatele ̶ Digitální stopa je soubor sledovatelných digitálních aktivit, akcí, příspěvků a komunikací projevených na internetu nebo digitálních zařízeních. ̶ Může mít vliv na např. ̶ Přizpůsobení obsahu a reklamy (cookies) ̶ Hodnocení důvěryhodnosti ̶ Screening kandidátů při pohovorech CORE013 / Barbora Bühnová36 Digitální stopa uživatele ̶ Zanechává obrázek o tom, kým člověk je ̶ Komentáře na sociálních sítích, prohlížená videa, soukromé zprávy vyměňované s přáteli, online hovory, prohlížení stránek ̶ Zkuste si sami sebe vložit do Googlu ̶ Co byste jako výsledek vyhledávání chtěli najít za 10 let? ̶ Riziko krádeže identity CORE013 / Barbora Bühnová37 Kontroverze ̶ Etické kontroverze ̶ manipulace, ̶ argorithmic bias, ̶ příklady ze života https://www.quantib.com/blog/understanding-the-role-of-ai-bias-in-healthcare CORE013 / Barbora Bühnová38 CO NÁS ČEKÁ PŘÍŠTĚ CORE013 / Barbora Bühnová39 8. Kvalita softwarových systémů ̶ Co je to kvalita, jak ji definujeme ̶ Jak předcházet problémům s kvalitou ̶ Jak kontrolovat úroveň kvality ̶ Testování a jeho role ve vývoji SW Domácí práce a příprava na příští přednášku ̶ Procvičení (volitelné) Tableau Public https://public.tableau.com/en-us/s/download s využitím tutoriálů https://public.tableau.com/en-us/s/resources ̶ Článek 5 of the Biggest Information Technology Failures and Scares ̶ Článek Do remote teams deliver lower quality software?