View
47
Download
0
Category
Preview:
DESCRIPTION
Architecture and programming model for NOSQL web (Polish). Jarosław Pałka. What's new in Java EE 6 Sang Shin. Programming Clojure Venkat Subramaniam. Play! framework: a revolution in the Java world Nicolas Leroux. - PowerPoint PPT Presentation
Citation preview
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
czyliPut 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 spojrzenieDane
Zapytania
Po drugiej stronie lustraZapytania
Dane
Witajcie w naszym sklepie● Wózek z zakupami● Komentarze, tagi i oceny w chmurze● Rekomendacje
Cały stos technologiiWicket
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 technologiiWicket
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 technologiiWicket
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 technologiiWicket
Spring
DAO
Hades
EntityManager
Hibernate
Key value store Document store Graph database
Cały stos technologiiWicket
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
Immutab
le
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
Recommended