*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.



Podobne dokumenty
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Tworzenie aplikacji bazodanowych

NoSQL & relax with CouchDB

BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Bazy danych 12. Bazy NoSQL. P. F. Góra

Definicja. Not Only SQL

Specjalizacja magisterska Bazy danych

Hurtownie danych wykład 5

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Przegląd grafowych baz danych. Paweł Bednarz

PRZEWODNIK PO PRZEDMIOCIE

BAZY DANYCH WYKŁAD 5 NO-SQL DATABASE

Bazy danych Wykład zerowy. P. F. Góra

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania

Wykład I. Wprowadzenie do baz danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

SZKOLENIE: Administrator baz danych. Cel szkolenia

Pojęcie bazy danych. Funkcje i możliwości.

Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Java Persistence API - zagadnienia zaawansowane

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Bazy danych NoSQL. Szymon Francuzik Poznań,

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Więzy integralności referencyjnej i klucze obce. PYTANIE NA EGZAMIN LICENCJACKI

Narzędzia i trendy Big Data

EJB 3.0 (Enterprise JavaBeans 3.0)

PERSPEKTYWY ZASTOSOWANIA BAZ DANYCH NoSQL W INTELIGENTNYCH SYSTEMACH TRANSPORTOWYCH

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Alicja Marszałek Różne rodzaje baz danych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Grafowe języki zapytań. Anna Kosieradzka

Gdzie jest moja tabela?

Projektowanie systemów baz danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Spis treści. Przedmowa

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Wielowymiarowy model danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Korpusy anotowane jako grafowe bazy danych. Piotr Pęzik PELCRA, Uniwersytet Łódzki

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Technologia informacyjna

Baza danych sql. 1. Wprowadzenie

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Technologia informacyjna

Projektowanie Systemów Informacyjnych

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

PRZEGLĄD WYBRANYCH BAZ NOSQL. Sławomir Dadas

Bazy danych w geomatyce Databases in Geomatics

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

edycja 20 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr ZW 124/2017 i 112/2017 i 113/2017

Projektowanie struktury danych

Hbase, Hive i BigSQL

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

dlibra 3.0 Marcin Heliński

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Technologie wyszukiwania pełnotekstowego

Programowanie obiektowe - 1.

Systemy baz danych. mgr inż. Sylwia Glińska

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Paweł Kurzawa, Delfina Kongo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Pojęcie systemu baz danych

Relacyjny model baz danych, model związków encji, normalizacje

Grafowy model bazy danych na przykładzie GOOD

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Wstęp do relacyjnych baz danych. Jan Bartoszek

011 ASPEKTY BAZ NOSQL. Prof. dr hab. Marek Wisła

Autor: Joanna Karwowska

Bazy danych Wprowadzenie Wykład dla IV i V roku matematyki

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Interbase. stacjonarne (stacjonarne / niestacjonarne) kierunkowy (podstawowy / kierunkowy / inny HES)

Paradygmaty programowania

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Projektowanie warstwy danych

Współczesne systemy baz danych

Wykład 2. Relacyjny model danych

Podstawy Programowania Obiektowego

ROZWIĄZANIA PODSTAWOWYCH IDEI BAZ DANYCH TYPU NOSQL W KONTEKŚCIE BEZPIECZEŃSTWA DANYCH

PRZEWODNIK PO PRZEDMIOCIE

Oracle11g: Wprowadzenie do SQL

Programowanie w Ruby

Transkrypt:

*Grafomania z Neo4j Praktyczne wprowadzenie do grafowej bazy danych.

Jak zamodelować relacyjną bazę danych reprezentującą następujący fragment rzeczywistości: Serwis WWW opisuje pracowników różnych firm poprzez nazwisko, płacę podstawową i płacę dodatkową. Każdy pracownik pracuje na co najmniej jednym stanowisku i posiada swoją historię zatrudnienia. Stanowiska opisane są poprzez nazwę oraz widełki płacowe. Pracownicy zorganizowani są w zespoły. Zespoły zorganizowane są w taki sposób, że każdy zespół może mieć jeden nadzespół i wiele podzespołów. Każdy zespół może mieć jednego leadera. *zadanie

*Co z efektywnością połączeń jeśli ilość pracowników, stanowisk i zespołów zacznie rosnąć? *Co jeśli będziemy chcieli zmienić schemat, np. zezwolić na to, aby zespoły miały więcej niż jeden nadzespół? *Co jeśli będziemy chcieli dodać kolejny atrybut do jednej z encji? *Na ile prosty jest proces projektowania i normalizacji? *Co ze skalowalnością horyzontalną? *problemy?

Problemy związane ze skalowalnością horyzontalną próbuje się rozwiązać poprzez: *denormalizację relacji, *usuwanie i/lub rozluźnianie ograniczeń, *rozluźnianie polityki transakcyjności. *rozwiązania???

*Bazy odchodzące od paradygmatów relacyjnych. *Projektowane pod odzwierciedlanie struktury danych oraz, nierzadko, pod skalowalność horyzontalną. *Brak założeń dotyczących normalizacji/denormalizacji. *Specjalizowane pod konkretne zastosowania. *NoSQL?= alternatywa

*bazy kolumnowe (Columnar Stores, Wide Column Stores, Sorted Ordered Column- Oriented Stores) *bazy klucz/wartość (key/value stores) *bazy dokumentowe (Document stores/databases) *bazy grafowe (Graph databases) *bazy obiektowe (Object databases) *bazy NoSQL

Grafową bazą danych nazywamy taką bazę, która przechowuje dane i związki miedzy nimi w postaci grafu, najczęściej skierowanego. Zgodnie z definicja, graf skierowany (zorientowany) to para G = <V;E>, gdzie V to zbiór wierzchołków (węzłów) o liczności V = n, a E to zbiór krawędzi (łuków) o liczności E = m, przy czym E jest relacja dwuargumentowa w V taka, że E należy do zbioru V x V. Tak zdefiniowana struktura danych jest wysoce generyczna i pozwala na przechowywanie i odwzorowywanie szerokiej gamy informacji. Jakie zalety i wady ma graf w stosunku do RDBMS? *grafowa baza danych

*pełne wsparcie dla transakcji ACID, *możliwość rozproszenia po wielu serwerach (w wersji komercyjnej), *do 34 mld węzłów, 34 mld krawędzi, 68 mld atrybutów, *unikanie operacji JOIN, zwiększenie efektywności poprzez trawersowanie sąsiedztwa, *dynamiczna struktura, możliwość dodawania i usuwania atrybutów z węzła, *dlaczego Neo4j?

*generyczne węzły i krawędzie, brak ich typowania, *indeksowanie w oparciu o Apache Lucene, *łatwość projektowania (whiteboardfriendliness), *możliwość embeddowania bazy w aplikacji i używania API w języku Java, *możliwość postawienia samodzielnej instancji i obsługi przez API RESTowe, *dlaczego Neo4j? [2]

*możliwość wydawania zapytań w językach Gremlin i Cypher, *graficzna, przeglądarkowa konsola serwera, *narzędzia wspierające programowanie (biblioteki implementujące API RESTowe oraz wspierające operowanie danymi, środowisko Neoclipse), *importer skryptów SQL, *wsparcie dla technologii semantycznych (RDF, SPARQL). *dlaczego Neo4j? [3]

*dane w bazie danych przechowywane są w węzłach i w krawędziach *każdy węzeł oraz krawędź posiadają atrybuty opisane przez parę klucz-wartość *obowiązkowym atrybutem jest id nadawane przez bazę danych *krawędzie dodatkowo posiadają obowiązkowy atrybut type, określający typ relacji *dane w Neo4j

*Neo4j intro

Serwis WWW opisuje pracowników różnych firm poprzez nazwisko, płacę podstawową i płacę dodatkową. Każdy pracownik pracuje na co najmniej jednym stanowisku i posiada swoją historię zatrudnienia. Stanowiska opisane są poprzez nazwę oraz widełki płacowe. Pracownicy zorganizowani są w zespoły. Zespoły zorganizowane są w taki sposób, że każdy zespół może mieć jeden nadzespół i wiele podzespołów. Każdy zespół może mieć jednego leadera. *projekt bazy Jak zaprojektować bazę Neo4j?

*wykorzystanie Jak zaimplementować i wykorzystać zaprojektowany model w praktyce?

*konsola graficzna Mała rzecz a cieszy.

*Spring Data Neo4j Tworzenie aplikacji na grafowych bazach danych w oparciu o adnotowane obiekty POJO.

*dziękuję za uwagę (to jest ten moment, kiedy zadajecie pytania)