Tag: conference

  • NoSql Matters 2013

    Notatki z wykładów

    WSZYSTKIE NAGRANE PREZENTACJE MAJĄ BYĆ WKRÓTCE UDOSTĘPNIONE
    Sladjy: http://2013.nosql-matters.org/cgn/abstracts/

    Strona konferencji: http://2013.nosql-matters.org/cgn/
    Moje zdjęcia: https://plus.google.com/photos/104618273358355901903/albums/5876328933446465249?authkey=CN6R9Mu2zY2jcw

    1. Keynote Martin Fowler

    Świetny wstęp do konferencji. Autor próbował zdefiniować pojęcie nosql, zaprezentował genezę ruchu nosql. Charakterystyka nosql:
    non-relational, open-source, cluster-friendly, 21st Century Web, schema-less.
    Pokazał główne kategorie baz key-value, document, column i graph datasotre. Pokazał “CAP theorem” twierdzenie CAP – consistency, avaliabilty, partitioning – oraz pokazał, że w jednej chwili można mieć tylko dowolne dwie cechy zachowane (jeśli baza jest rozdystrybuowana czyli P >2 to trzeba wybierać pomiedzy A i C). Reklama książki NoSql Distiled oraz definicja polyglot persistance.
    Dokładnie taki sam wstęp tutaj

    2. ModeShape 3, red hat
    Prezentacja produktu red hat piąty typ baz danych – hierarchiczna – podobna do filesystemu.

    3. Big data beyond hadoop. Hadoop with apche camel
    talend, polaczenie esb -apache camel – z hadoop
    article to read: parallel ETL tools are dead
    Ciekawe rozwiązanie ESB do zastosowań przeliczania hadoop.
    Slajdy:
    Darmowy produk Apache Camel + Apache Hadoop:

    4. How to compare nosql dbs
    Super prezentacja pokazująca benchmarki poniższych technologi.
    aerospike, couchebase(good for fast cache), mongo, cassandra
    Raport benchmarku:
    Ciekawy key-valute store: http://www.aerospike.com/

    5. Query Languages for Document Stores
    Jan Steemann
    Ponownie Jan z firmy triAGENS, prezentacja to krótkie preview języków zaptań do danych w postaci JSON
    język FOX autorstwa w/w firmy producenta arangoDB, oraz JSONiq, przypominające składniowo mix sql i pytan do mongo
    avocadoDB: http://www.nosql-cologne.org/aql_martin_schoenert_jan_steemann/page6.html#/6
    Być może standart do zapytań baz dokumentowych: http://www.jsoniq.org/

    6. Data Structures in Riak
    Sean Cribbs
    AWESOME
    Riak kieruje się zupełnie inną strategią zapisu danych niż cassandra. W sytuacji gdy dwóch klientów próbuje zapisać rekord w klastrze o tym samym id cassandra odrzuca ten ze starszym timestamp i zapisuje najświeższy. Riak uwzględnia oba rekordy.

    Teoretyczne wprowadzenie do struktur danych w riaku. Opis modelu matematycznego w/w struktur, logika zbiorów, definicja matematyczna, monodiy. Na końcu świetne demo klastra 5 nodowego, podzielonego na 2 partycje. “Mądre” convergence – zbliżanie wyników po wystąpieniu awari. Demo polegało na wyświetleniu dwóch okien przeglądarek jedno prezentowało jedną partycję klastra drugie drugą.

    Zasymulowane use casy gdy partycje traca polaczenie ze soba. Na jednej do struktury – counter – wprowadzono wartość 5 na drugiej -5. Po odzyskaniu połączenia wartości się zsumowały do 0.

    W drugim przykładzie na połączonych partycjach ustawiono wartosc 6 na obu. Wyłaczono połaczenie i zwiekszono wartosc do 13 na jednym. Po uruchomieniu polaczenia ponownie na drugiej partycji pojawila sie wartosc 13. Riak nie dystrybuje danych lecz operacje. Tj jesli na jednej partycji wykonano inkrementacje 5 razy riak przekazuje wykonanie tej operacji do innej czesci klastra.

    Riak key-value w przypadkach rozdystrybuowanych zastepuje filesystem. Czasy odp 10 ms.

    Slajdy: https://speakerdeck.com/basho/data-structures-in-riak
    Prezentacja: http://vimeo.com/52414903 (w Koloni był tylko Sean Cribbs)

    7. Processing a Trillion Cells per Mouse Click
    Alex Hall
    REWELACJA!
    Columna storage, praca doktorska Alexa http://vldb.org/pvldb/vol5/p1436_alexanderhall_vldb2012.pdf
    Wewnętrzne narzedzie w google – powerdrill. Niesamowite osiagi wydajnosci, czasu odpytywania zapytan grupujacych setu ok 500 mb, ktore w bazie trwaly ponad minute do 7 sekund w drill oraz 70 ms w powerdrill.

    — co pomoglo, wprowadzenie ids int
    — slownikowanie danych, ineksy po intach niesamowicie przyspieszyly wydajnosc zapytania
    — kompresja zbioru rozwiazan??

    co mozna u nas:
    id w tabeli accounts

    — w tabeli uri_pv tez id konta
    — nawet id daty :P
    — zeslownikowanie uri?
    — tabela archive

    praca dyplomowa: http://vldb.org/pvldb/vol5/p1436_alexanderhall_vldb2012.pdf
    slajdy: http://www.d1-solutions.com/fileadmin/user_upload/d1solutions/Events/praesentationen_common_sense/ah-google-CommonSense-2013.01.pdf

    8. 100% Big Data, 0% Hadoop, 0% Java
    Pavlo Baron
    REWELACJA! python + erlang
    Big data without jvm do badania sematycznie pozytywnych i negatywnych tweetow.
    Slajdy: http://www.slideshare.net/pavlobaron/100-big-data-0-hadoop-0-java
    Prezentacja: http://www.youtube.com/watch?v=Q-Tm-HO7auE

    ====================================

    1. How to survive in a BASE world
    Uwe Friedrichsen
    REWELACJA
    Dzień rozpoczoł się od super wykładu na którym był pokazany przykład dwóch klas implementujących biblioteke: książka i klient. Przykład pokazywął implementację w orm hibernate i pokazywał jakie błedy popełniają programiści implementując ten sam interfejs z nosql, całkowicie tracąć funkcjonalności baz nosql. Oczywiście był również prezentowany prawidłowy model architektury. Gotowe do wykorzystania natychmiast.
    slajdy: http://www.slideshare.net/ufried/how-to-survive-in-a-base-world

    2. With a hammer in your hand… ElasticSearch
    Simon Willnauer
    REWELACJA!

    Świetne demo elasticSearch – silnik przeszukiwania pełnotekstowego. Świetny prelegen! Jak będę implementował wyszukiwanie to na pewno użyje ElasticSearch (obecna wersja 0.9, pod spodem apache lucene)

    3. Triple R – Riak, Redis and RabbitMQ at XING
    Sebastian Röbke & Dr. Stefan Kaes

    Świetna prezentacja pokazująca migracje technologii w serwisie XING (niemiecki goldenline) do w/w technologii. Motywem była potrzeba zwiększenia wydajności i szybkości serwisu. Stąd kompletna zmiana architektury z relacyjnej na baze key-value i rozdystrybuowany cache.

    4. Boon and Bane for Software Architects
    Ralf S. Engelschall

    Ralf pokazywał jak bardzo może zaboleć korzystanie z polyglot persistance, czyli kilku baz danych w ramach jednego systemu aby pokryć różne funkcjonalności najbardziej odpowiednimi i wydajnymi zastosowaniami.

    5. CAP and the Architectural Consequences
    Martin Schönert

    Prezentacja genezy twierdzenia cap oraz kilku wariantów różnych schematów rozdystrybuowanych systemów. CAP theorem
    Teza a w zasadzie udowodnione twierdzenie przez Brewera twierdzi ze gdy mamy baze danych na klastrze (czyli nie single server) to w danej chwili możemy mieć spełnione dwie własności z trzech, spójność danych, dostępność systemu, partitioning cluster(ilość nodów >2).

    6. Map/Reduce in Action: Large Scale Reporting Based on Hadoop and Vertica
    Dennis Meyer & Uwe Seiler

    Prezentacja firmy Adtech zajmującej się wyświetlaniem reklam na stronach www. Stos technologiczny zupełnie jak u nas tylko zamiast mysql – vertica, oraz flume.
    Do schedulowania jobow jobs.

    ====================================

    DZIEŃ WARSZTATÓW

    Katalog baz nosql: http://www.nosql-database.org/

    1. Data modeling
    Wstęp do nosql + praktyczne użycie:
    memchage, redis, couchdb, mongodb

    ArangoDB (comparing to mongoDB)
    +joins
    +web access (REST/ http)
    -sharding
    +sql like queries

    javascript queries ArangoDB
    db._query(“RETURN persons[*].name”).toArray();
    db._query(“FOR p IN persons FILTER p.name == ‘jan’ RETURN p.age”).toArray();

    JOIN
    db._query(“FOR p IN persons FOR p2 IN persons FILTER p.name == ‘jan’ RETURN p.age”).toArray();

    +graph db TRAVERSAL function

    2.
    Apache Drill hands-on
    Niestety projekt nie jest dojrzały. Informacji jest niewiele nawet na stronie projektu. Jak sie okazało implementacja Apache Drill to praca doktorska prowadzącego jest i jest w fazie alpha. Tj. można korzystać, ściągnąc kod, zbudować przykład ale są spore ograniczenia na input oraz język zapytań. (JSON)
    https://github.com/apache/incubator-drill/tree/master/sandbox/prototype/exec/ref/src/test/resources
    https://cwiki.apache.org/confluence/display/DRILL/Demo+HowTo
    https://cwiki.apache.org/confluence/display/DRILL/AOL+Search