Grafowy tydzień z Neo4j

Jako programiści jesteśmy bardzo przyzwyczajeni do modelu relacyjnego. W zasadzie dowolnie skomplikowaną dziedzinę czy problem biznesowy jesteśmy w stanie szybko sprowadzić do układu tabel, kluczy obcych, indeksów, aby tylko zacząć składować w nich dane. Jednak czasem umyka nam gdzieś fakt, że samo przechowywanie to nie wszystko, ważne jest także to, w jaki sposób te dane będą przetwarzane i analizowane.

Przykładowo, wykrywanie najbardziej popularnych obiektów w streamie odsłon serwisu można zaimplementować w oparciu o bazę relacyjną, przechowując wszystkie odsłony. Można również sięgnąć po np. algorytm Lossy Counting, jednocześnie opierając backend o bardzo wydajnego Redisa i strukturę sorted-set. W tym przypadku, zamiast zachowywać wszystkie elementy wystarczy pamiętać tylko ich podzbiór, co przełoży się także na szybkość wykonywanych na nim obliczeń.

W wielu przypadkach model dziedziny jest grafem. W dużym uproszczeniu, rekordy stają się w nim wierzchołkami, powiązania pomiędzy rekordami krawędziami, każda z tych struktur może posiadać dowolnie wiele atrybutów. Korzystając z takiej reprezentacji modelowanie staje się wręcz przyjemnością, użycie wbudowanych algorytmów pozwoli zaoszczędzić sporo czasu i wysiłku, a możliwość wizualizacji modelu i jego eksploracja to w zasadzie już tylko wisienka na torcie. Realnych use-case’ów użycia modelu grafowego i powiązanych z nim baz danych jest tak wiele, że trudno jest wybrać choć te najważniejsze. Zresztą wystarczy spojrzeć na zwycięzców GraphGist Challenge, konkursu zorganizowanego w ubiegłym roku przez Neo4j, aby przekonać się o tym samodzielnie. Zastosowań produkcyjnych również nie brakuje, jednym z ciekawszych zaprezentowanych w ostatnim czasie projektów była analiza dokumentów ujawnionych w ramach Panama Papers, tutaj również Neo4j odegrało wiodącą rolę.

Aby przybliżyć trochę tematykę baz grafowych i bazy Neo4j, w tym tygodniu SkillsFoundry organizuje wspólnie z GraphAware dwa otwarte i darmowe wydarzenia.

neo4j

Wprowadzenie do Neo4j / Neo4j w praktyce

W czwartek, 17 listopada we Wrocławiu, w siedzibie RST odbędzie się meetup podczas którego będzie okazja posłuchać wprowadzenia do Neo4j (Mariusz Gil / SkillsFoundry, Source Ministry) czy o użyciu Neo4j w praktyce – case-study projektu medycznego (Michał Kurzeja / Accessto). Gościem specjalnym będzie Christophe Willemsen z GraphAware, który podzieli się swoim doświadczeniem podczas prezentacji Analysing Github contributions with graphs. Christophe jest także głównym autorem jednej z najlpopularniejszych bibliotek do obsługi Neo4j dla języka PHP, Neo4j-php-client oraz innych narzędzi dla Javy, będzie więc okazja porozmawiać z ekspertem. Szczegółowe informacje znajdują się na Facebooku oraz stronie wydarzenia:

http://skillsfoundry.io/events/2016/11/neo4j-meetup
https://www.facebook.com/events/1285882144779900/

Neo4j hackathon

Dwa dni później, w sobotę 19 listopada odbędzie z kolei otwarty trening i hackathon. Christophe wprowadzi nas w świat budowy i implementacji systemów rekomendacyjnych z użyciem Neo4j i grafów, czyli naprawdę interesujący temat. Partnerem wydarzenia jest GOG.com, w którego wiedźmińskich biurach będziemy wspólnie się uczyć i kodować.

Trening i hackathon odbędą się w formule BOYD, zatem konieczne będzie przyniesienie własnego laptopa. Wymagana jest także darmowa rejestracja, bardzo prosimy o tym pamiętać. Szczegółowe informacje znajdują się na poniższych stronach:

http://skillsfoundry.io/events/2016/11/neo4j-training-and-hackathon
https://www.facebook.com/events/1812101549028203/

Zapraszamy do udziału w obu wydarzeniach!

  • aPoCoMiLogin

    Jako programiści jesteśmy bardzo przyzwyczajeni do modelu relacyjnego.

    Nie wszyscy, od 2 lat tylko nosql i jest mi z tym bardzo dobrze.

Send this to friend

webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL
webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL