Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Piwne wprowadzenie do Neo4J

Piwne wprowadzenie do Neo4J

W swojej prezentacji omówię podstawy używania Neo4J. Jest to grafową baza danych. Posiada pełną transakcyjność, można ją wbudować w aplikację lub korzystać w trybie serwerowym. Użyto w niej innego podejścia do składowania danych niż w klasycznych bazach relacyjnych. Odpowiednio wykorzystana pozwala na uzyskanie wydajności tysiąckrotnie większej od RDBMSów. W zależności od zastosowania warto rozważyć te rozwiązanie. Zacznę od krótkiej teorii grafów, uruchomienia bazy oraz obsługi konsoli. Zaprezenuję dodawanie i modyfikowanie węzłów i krawędzi. Następnie powiem jak to wszystko jest fizycznie zapisywane i czemu działa tak szybko. Każda baza umożliwia pobieranie danych. Cypher jest deklaratywnym językiem zapytań specjalizowanym do pracy z grafami. Za jego pomocą pokażę kilka wbudowanych algorytmów na przykładzie piwnej bazy danych. Będziemy szczegółowo analizować gatunki, procenty i browary. Na koniec zaprezentuję zastosowania w jakich można tej bazy używać oraz zrobię krótki przegląd oprogramowania pomocniczego i projektów w jakich się Neo4J stosuje.

Grzegorz Godlewski

April 12, 2013
Tweet

More Decks by Grzegorz Godlewski

Other Decks in Programming

Transcript

  1. 4 • JVM • Full ACID • 1000000000y obiektów •

    Wydajna • Intuicyjna Neo4J Grafowa baza danych
  2. 9 Wbudowane: • Shortest paths, • All paths, • All

    simple paths, • Dijkstra and • A* Neo4J Spatial • RTree index • Geometry types • Topology operations: cross, intersect, overlap, within Neo4J Algorytmy
  3. 10 Neo4J Cyper – język zapytań START beer = node:node_auto_index(name='amber

    natur') MATCH beer-[:KIND_OF]->()<-[:KIND_OF]-similar_beer, beer-[:HAS_PERCENTAGE]->percent, similar_beer-[:HAS_PERCENTAGE]->percent2 WHERE ABS(percent.value - percent2.value) < 0.2 RETURN similar_beer.name, percent2.value;
  4. 17 [email protected] http://gitgis.com - born to code Dziękuje za uwagę

    http://neotechnology.com http://neo4j.org http://github.com/ggodlewski/neo4j-intro