programming and architecture of nosql web at 33degree

Post on 14-Dec-2014

694 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Review of tricks, techniques and approaches for working with NOSQL databases.

TRANSCRIPT

Main sponsor

Picasso Monet + Rembrandt Malczewski + Chelmonski

Picasso Monet + Rembrandt Malczewski + Chelmonski

Architecture and programming model for NOSQL web (Polish)

Jarosław Pałka

What's new in Java EE 6Sang Shin

Programming Clojure

Venkat Subramaniam

Play! framework: a revolution in the

Java worldNicolas Leroux

Poniższa prezentacja udostępniana jest w ramach licencji DHMB (Don't Hurt My Brain).

Prowadzący nie ponosi odpowiedzialności finansowej i moralnej za szkody wynikające z wzięcia zbyt serio zawartości tej prezentacji.

Wliczając w to trwałe uszkodzenia neuronów, obniżenie aktywności neuroprzekaźników na

poziomie molekularnym oraz grupowe zwolnienia z pracy.

Programming and architecture model for NOSQL

web4Developers, Warszawa 2011

O mnie

● Administrator, programista, architekt, eksperymentalny manager

● Niespełniony autor http://primitive.jogger.pl oraz https://bitbucket.org/kcrimson/

● Po godzinach NOSQL, REST i JavaScript „funboy”

● Członek Stowarzyszenie Software Engineering Professionals Polska

Dziś w menu

● Trzy tezy, czyli drobiny przemyśleń i doświadczenia

● Jak to działa, czyli prawie na żywo kodowanie● Wózek z zakupami● Komentarze, oceny i chmury● Rekomendacje

● Wnioski i inne architektologiczne brednie● Brawa, pochwały oraz konstruktywne

komentarze

Teza pierwsza

Im bliżej masz do bazy tym rzadziej będziesz

tam zaglądał

czyli

Make your data local

Ścieżka krytyczna

Użytkownik Sieć Aplikacja Sieć Baza danych

Samotność długodystansowca

● Cache sposobem na zmniejszenie dystansu do danych

● Osadzone (embedded) bazy danych w szczególnych przypadkach

● Jednak dystans na poziomie infrastruktury to nie wszystko

Na jednej kartce formatu A4

Employee Address

Manager

City

Country

Project

Program

Płaskie jest piękne

Teza druga

Tyleż prawd ile par uszu do których ona dotarła

czyli

Put your data in right context

Wszyscy aktorzy na scenę

● Różni aktorzy to nie tylko inne zachowania systemu

● To także inna perspektywa w spojrzeniu na dane

● To także inny sposób wyszukiwania danych

● Czy w takiej sytuacji jeden wspólny model nadal ma sens?

Dla użytkownika

● Zamówienie● Produkty● Cena● Status realizacji

Dla pracowników sklepu

● Zamówienie● Numery identyfikacyjne produktów● Lokazalizacja produktów w magazynach● Status płatności● Typ przesyłki

Dla pracowników marketingu

● Zamówienie● Wiek zamawiającego● Miejsce zamieszkania● Miejsce pracy● Średni dochód miesięczny● „Direct” czy „refferal”

Jeden, by wszystkimi rządzić, jeden, by wszystkie

odnaleźć,Jeden, by wszystkie

zgromadzić i w ciemności związać

W krainie Mordor, gdzie zaległy cienie.

Teza trzecia

Pan szuka czy błądzi?

czyli

Store vs search

Tradycyjne spojrzenie

Dane

Zapytania

Po drugiej stronie lustra

Zapytania

Dane

Witajcie w naszym sklepie

● Wózek z zakupami● Komentarze, tagi i oceny w chmurze● Rekomendacje

Cały stos technologii

Wicket

Spring

DAO

Hades

EntityManager

Hibernate

Wózek z zakupami

Wszyscy aktorzy na scenę

● Każdy użytkownik w danym momencie posiada jeden wózek z zakupami,

● Raz użyty wózek wyjeżdza na śmietnik a klient zabiera swoje zakupy do domu,

● Zawartość wózka jest niewspółmiernie częsciej przeglądana niż aktualizowana

Duże jest piękne tylko w naturze

ShoppingCart

OrderItem quantity

Product price

Album title

Artist name

ShoppingCart

ShoppingCartItemquantityproductPricealbumTitleartistName

Nauka która nie idzie w las

● Oddzielmy ziarna od plew,● Rozdzielne problemy to rozdzielne domeny● Obiekty z rozdzielnych domen nic nie wiedzą

o sobie● Korzystajmy z #ID oraz #IDREF● Luźnie wiązanie danych

● Transakcyjne kontra nietransakcyjne● Utrzymuj te światy z dala od siebie

Cały stos technologii

Wicket

Spring

DAO

Hades

EntityManager

Hibernate

Key value store

Komentarze, tagi i oceny w chmurze

Każdy ma prawo do wypowiedzi

● Komentarze, tagi i oceny mają pomóc użytkownikom podjąć decyzję

● Raz zapisane pozostaja niezmienne w systemie

● Budowanie statystyk, trendów oraz rekomendacji

Cały stos technologii

Wicket

Spring

DAO

Hades

EntityManager

Hibernate

Key value store Document store

Jedna Pani drugiej Pani

... na kiedy to będzie?

● Co kupili inni?● A co kupili Ci co inni kupili● A może jeszcze albumy oznaczone tymi

samymi tag’ami● I do tego albumy wydane w tej samej

wytwórni● ... I co jeszcze marketingowi przyjdzie do

głowy

Na pożółkłej kartce papieru

Cały stos technologii

Wicket

Spring

DAO

Hades

EntityManager

Hibernate

Key value store Document store Graph database

Cały stos technologii

Wicket

Spring

DAO

Hades

EntityManager

Hibernate

Spring data

Key value store Document store Graph database

O co w tym wszystkim chodzi?

● To nie tylko szybkość i wydajność● To nie tylko skalowalność i insze inszości● NOSQL to także zaawansowane indeksy

jako uzupełnienie dla RDBMS● „Giętkie” vs „skostniałe” struktury danych● „Ludzkie” oblicze API dla programistów

Wnioski architektologiczne

● albowiem przedwczesna optymalizacja u źródeł zła wszelkiego więc nie idź zbyt wcześnie w NOSQL kolego

● uważaj co mierzysz i jako bardzo w to wierzysz

● jeden wspólny model to przeżytek i wielu klęsk początek

Store

Long time

Sophisticated queries

Immutable

Search

Limited time

Fast access

Mutable

Garść informacji

● http://primitive.jogger.pl

● https://bitbucket.org/kcrimson

● nosql-web● nosql-cart● nosql-tags● nosql-recommendations

● http://nosql.mypopescu.com/

● http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-actually-using-nosql-for.html

Main sponsor

Picasso Monet + Rembrandt Malczewski + Chelmonski

Picasso Monet + Rembrandt Malczewski + Chelmonski

So you think agile software development and building houses have nothing in common...

Wojciech Seliga

Practical Guide to using REST for SOA

Stefan Tilkov

Five years of change, no outages

Steve Freeman

Monitoring 10 Critical Code Quality Metrics with SonarMatthew McCullough

top related