1 Mikołaj Morzy Instytut Informatyki Politechniki PoznańskiejBazy danych dziś i jutro jakie wyzwania stoją przed technologią baz danych Mikołaj Morzy Instytut Informatyki Politechniki Poznańskiej
2 osoby, które dotrwają do końca prezentacji, dowiedzą się czegoś, co uczyni resztę ich życia nieco lepszym…
3 Tania produkcja danychbardzo tanie urządzenia do składowania danych sensory aplikacje społecznościowe inteligentne urządzenia Internet Rzeczy (samochody, domy, AGD, …)
4 Tanie przetwarzanie danychwielordzeniowe procesory przetwarzanie w chmurze oprogramowanie open source
5 Demokratyzacja danychnowi twórcy i konsumenci danych decydenci naukowcy domenowi pracownicy platform typu crowdsource użytkownicy aplikacji ogromna liczba osób zaangażowanych w tworzenie, przetwarzanie i konsumowanie danych
6 pozyskanie → zapisanie → przetworzenieRewolucja Big Data pozyskanie → zapisanie → przetworzenie transformacja surowych danych w użyteczną wiedzę przemysł biznes administracja inżynieria wspólnoty indywidualne osoby
7 Data Management Game koniec końców, reszta świata pojęła wreszcie znaczenie tego, o czym środowisko baz danych bezustannie mówiło od lat…
8 Ewolucja zarządzania danymi5 lat temu dziś NewSQL Hive Spanner + F-1 SQL storage engines Hadoop MapReduce NoSQL rozwiązania ad hoc
9 Dlaczego wielki powrót?"[…] Based on its experience with BigTable, Google argues that it is better to have application programmers deal with performance problems due to overuse of transactions as bottlenecks arise, rather than always coding around the lack of transactions." źródło: en.wikipedia.org/wiki/Spanner_(database)
10 Big Data i 3V dane można opisać jako "big data" jeśli sam rozmiar danych staje się częścią problemu Roger Magoulas I know it when I see it Justice Potter Steward
11 Big Data i 3V volume: KB → MB → GB → TB → PB → EB → ZBvelocity: batch → sparse → interval → real time variety: RDBMS → XML → text → video → photo
12 5 wyzwań skalowalna infrastruktura dla big/fast dataróżnorodność środowiska zarządzania danymi usługi w chmurze przetwarzanie danych end-to-end wyzwania dla społeczności baz danych
13 Skalowalna infrastrukturamamy: architektury równoległe ograniczone modele programowania (np. MapReduce) środowiska: Hadoop + HDFS + Pig, Hive potrzebujemy: optymalizacji kosztowej przetwarzania zorientowanego na zbiory adaptatywnych silników wykonywania zapytań monitorowania postępów zapytań włączenia próbkowania i eksploracji danych
14 Skalowalna infrastrukturamamy: uniwersalne wielordzeniowe procesory potrzebujemy: GPU (graphics processing unit) FPGA (field-programmable gate arrays) ASIC (application-specific integrated circuits)
15 Skalowalna infrastrukturadalsze pomysły dyski SSD, sieciowa pamięć stała NV-RAM (EPROM, F-RAM, M-RAM, Millipede, NanoRAM) NUMA (non-uniform memory access) próbkowanie i agregacja danych w strumieniach danych schema-on-read vs schema-on-write narzędzia, języki i silniki zapytań do surowych plików
16 Skalowalna infrastrukturaotwarte problemy cost of ownership zarządzanie energią elektryczną przetwarzanie end-to-end kruchość danych użyteczność miary, testy, benchmarki
17 Różnorodność środowiskabezpowrotnie żegnamy pojedynczą hurtownię danych zaprojektowaną i optymalizowaną pod kątem powtarzalnych analiz i zapytań ad hoc uniwersalne systemy typu one-size-fits-all
18 Różnorodność środowiskawielość systemów czyszczenie, uspójnianie, deduplikacja analiza grafów i sieci środowisko do eksperymentów naukowych wielość abstrakcji programistyczne abstrakcje względem dużych zbiorów danych (SQL, Pig, R, Python, …) wzorce projektowe (mnożenie macierzy, wyrażenia listowe, …) z wiązaniami do języków programowania
19 Różnorodność środowiskaw kierunku systemów przypominających klocki LEGO Apache Mesos Hadoop YARN Apache Taverna
20 Przetwarzanie end-to-endstan na dziś praktycznie brak narzędzi obsługujących całą ścieżkę od surowych danych do wiedzy wysokie wymagania kompetencyjne pojawienie się nowej kasty data scientists główny nacisk na technologie integracji danych
21 Przetwarzanie end-to-endakwizycja selekcja ocena ekstrakcja transformacja czyszczenie OLAP eksploracja wizualizacja
22 Przetwarzanie end-to-end
23 Bazy wiedzy słowniki ontologie zbiory reguł
24 Bazy wiedzy tworzenie, współdzielenie i wykorzystywanie wiedzy dziedzinowej aby zrozumieć dane wykorzystanie: odpowiedzi na pytania adnotacja tekstu wsparcie dla e-handlu analiza mediów społecznościowych
25
26 Bazy wiedzy SQL> INSERT INTO emp_rdf VALUES (13, SDO_RDF_TRIPLE_S('Employees', 'http://semantic.cs.put.poznan.pl/emp/isHeadOf', 'rdf:type', 'rdf:Property')); SQL> INSERT INTO emp_rdf VALUES (14, SDO_RDF_TRIPLE_S('Employees', 'rdfs:subPropertyOf', 'http://www.ploug.org.pl/emp/worksIn')); SQL> INSERT INTO emp_rdf VALUES (15, SDO_RDF_TRIPLE_S('Employees', 'rdfs#domain', 'http://semantic.cs.put.poznan.pl/emp/Manager')); SQL> INSERT INTO emp_rdf VALUES (16, SDO_RDF_TRIPLE_S('Employees', 'http://semantic.cs.put.poznan.pl/emp/King', 'http://semantic.cs.put.poznan.pl/emp/isHeadOf', 'http://semantic.cs.put.poznan.pl/emp/Research'));
27 Bazy wiedzy SQL> EXECUTE SEM_APIS.CREATE_RULEBASE('EmpRules');SQL> INSERT INTO mdsys.semr_EmpRules VALUES ('WorksTogetherWithRule', '(?x :worksIn ?z) (?y :worksIn ?z)', null, '(?x :worksTogetherWith ?y)', SEM_ALIASES(SEM_ALIAS('','http://semantic.cs.put.poznan.pl/emp/'))); SQL> BEGIN SEM_APIS.CREATE_ENTAILMENT('rdfs_rix_employees', SEM_MODELS('Employees'), SEM_RULEBASES('RDFS','EmpRules'), null, null, 'USER_RULES=T'); END; SQL> SELECT x,y FROM TABLE( SEM_MATCH('(?x :worksTogetherWith ?y)', SEM_MODELS('Employees'),SDO_RDF_RULEBASES('RDFS','EmpRules'), SEM_ALIASES(SEM_ALIAS('','http://semantic.cs.put.poznan.pl/emp/')), null,null)) WHERE (x != y); X Y
28 Bazy wiedzy -- Blake zna ScottaSQL> INSERT INTO emp_rdf VALUES (9, SDO_RDF_TRIPLE_S('Employees', 'http://semantic.cs.put.poznan.pl/emp/Blake', 'http://semantic.cs.put.poznan.pl/emp/knows', 'http://semantic.cs.put.poznan.pl/emp/Scott')); -- knows jest cechą symetryczną SQL> INSERT INTO emp_rdf VALUES (10, SDO_RDF_TRIPLE_S('Employees', 'rdf:type', 'owl:SymmetricProperty')); -- bycie podwładną(ym) jest odwrotnością bycia przełożoną(ym) SQL> INSERT INTO emp_rdf VALUES (13, SDO_RDF_TRIPLE_S('Employees', 'http://semantic.cs.put.poznan.pl/emp/subordinateOf', 'owl:inverseOf', 'http://semantic.cs.put.poznan.pl/emp/managerOf'));
29
30 Twierdzenie Bayesa prawdopodobieństwo prawdopodobieństwo a prioria posteriori hipoteza dane
31 Bazodanowy Bayes CREATE TABLE priors ( target_value VARCHAR(3),prior_probability NUMBER); INSERT INTO priors VALUES ('no',0.5); INSERT INTO priors VALUES ('yes',0.5); INSERT INTO settings VALUES (dbms_dm.algo_name,dbms_dm.algo_naive_bayes); INSERT INTO settings VALUES (dbms_dm.clas_priors_table_name,'PRIORS'); BEGIN DBMS_DM.CREATE_MODEL( model_name => 'NaiveBayes', mining_function => DBMS_DM.CLASSIFICATION, data_table_name => 'titanic_train', case_id_column_name => 'id', target_column_name => 'survived', settings_table_name => 'settings'); END; SELECT survived AS actual_outcome, PREDICTION(NaiveBayes USING *) AS predicted_outcome, PREDICTION_PROBABILITY(NaiveBayes, 0 USING *) AS death_probability, PREDICTION_PROBABILITY(NaiveBayes, 1 USING *) AS survive_probability FROM titanic_test;
32 Usługi w chmurze w świecie idealnym… załaduj dane do chmuryodpytaj dane za pomocą standardowego SQL wybiórczo współdziel dane
33 Usługi w chmurze o jakim rodzaju usługi mówimy?IaaS: Infrastructure as a Service PaaS: Platform as a Service SaaS: Software as a Service tradycyjne podziały szybko się zacierają Database.com, Google BigQuery, Amazon Redshift, Microsoft Azure SQL Database
34 Usługi w chmurze elastycznośćobliczenia są elastyczne, dane elastyczne nie są… czy dane mają być składowane na serwerze, czy w sieci? jak wspierać transakcyjność i analitykę jednocześnie? jak wykorzystać dostępność dodatkowych zasobów? jak obsługiwać wywłaszczenia?
35 Usługi w chmurze administracja i strojenietradycyjne role administratora systemowego i administratora bazy danych za chwilę przestaną istnieć jak zapewnić ekstremalne automatyczne strojenie? jak automatycznie planować pojemność? jak zarządzać zasobami fizycznymi? jak konstruować polityki bezpieczeństwa?
36 Usługi w chmurze replikacja danych multitenancymusimy ponownie odwiedzić lata 90-te, wielowersyjne bazy danych, algorytmy optymistyczne blokowania, … multitenancy jak zapewnić obsługę nagłych skoków zapotrzebowania? jak zarządzać pamięcią, I/O, CPU? jak zapewnić bezpieczeństwo i poufność?
37 Rola ludzi w cyklu życia danychdawno, dawno temu, za górami, za lasami … deweloperzy projektowali bazę danych deweloperzy tworzyli aplikacje wokół bazy danych analitycy odpytywali bazę danych korzystając z narzędzi OLAP lub SQL użytkownicy końcowi generowali dane, odpytywali i aktualizowali bazę danych administratorzy stroili i monitorowali bazę danych
38 Rola ludzi w cyklu życia danychproducenci prywatność meta-dane kuratorzy tłumy jakość danych konsumenci interfejsy asystowane zapytania członkowie kolaboracja wiedza ekspercka
39 Społeczność baz danychuczenie baz danych jest całkowicie oderwane od rzeczywistości i odbywa się tak, jakbyśmy nadal żyli w latach 90-tych zarządzanie buforami losowe i sekwencyjne I/O model relacyjny SQL baza danych w pamięci dyski SSD bazy kolumnowe, grafowe, semi-strukturalne, … SPARQL, Hive, Pig
40 Społeczność baz danychszto diełat'? top-bottom: przedstawiać technologię w postaci drzewa dyskutując każdy architekturalny punkt decyzji jakość danych: przedstawiać proces przechodzenia od surowych danych do użytecznej wiedzy preliminaria: wyjdźmy poza świat baz danych, uczmy naszych koncepcji (indeksowanie, haszowanie, optymalizacja) na zajęciach wstępnych z informatyki
41 Społeczność baz danychŚwiat nauki nie jest bez grzechu pogoń za IF, cytowaniami i indeksami (h-index, g-index) powoduje odejście od budowania dużych systemów prototypowych i systemów end-to-end nacisk na dużą liczbę publikacji, komitety programowe preferują nowinki względem użyteczności lub długoterminowego wpływu
42 Społeczność baz danychzarządzanie danymi przetwarzanie danych wielkiej skali informatyka ogólna data scientist analityka i BI matematyka i statystyka uczenie maszynowe optymalizacja
43 a teraz do rzeczy
44 dziękuję za uwagę