1 / 44

Architecture and programming model for NOSQL web (Polish)

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.

questa
Download Presentation

Architecture and programming model for NOSQL web (Polish)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture and programming model for NOSQL web (Polish) JarosławPałka What's new in Java EE 6 Sang Shin Programming Clojure VenkatSubramaniam Play! framework: a revolution in the Java world Nicolas Leroux

  2. 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.

  3. Programming and architecture model for NOSQL web 4Developers, Warszawa 2011

  4. 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

  5. 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

  6. Teza pierwsza Im bliżej masz do bazy tym rzadziej będziesz tam zaglądał czyli Make your data local

  7. Ścieżka krytyczna

  8. 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

  9. Na jednej kartce formatu A4 City Employee Address Country Project Manager Program

  10. Płaskie jest piękne

  11. Teza druga Tyleż prawd ile par uszu do których ona dotarła czyli Put your data in right context

  12. 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?

  13. Dla użytkownika • Zamówienie • Produkty • Cena • Status realizacji

  14. Dla pracowników sklepu • Zamówienie • Numery identyfikacyjne produktów • Lokazalizacja produktów w magazynach • Status płatności • Typ przesyłki

  15. Dla pracowników marketingu • Zamówienie • Wiek zamawiającego • Miejsce zamieszkania • Miejsce pracy • Średni dochód miesięczny • „Direct” czy „refferal”

  16. 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.

  17. Teza trzecia Pan szuka czy błądzi? czyli Store vs search

  18. Tradycyjne spojrzenie

  19. Po drugiej stronie lustra

  20. Witajcie w naszym sklepie • Wózek z zakupami • Komentarze, tagi i oceny w chmurze • Rekomendacje

  21. Cały stos technologii Wicket Spring DAO Hades EntityManager Hibernate

  22. Wózek z zakupami

  23. 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

  24. Duże jest piękne tylko w naturze ShoppingCart ShoppingCart OrderItem • quantity ShoppingCartItem • quantity • productPrice • albumTitle • artistName Product • price Album • title Artist • name

  25. 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

  26. Cały stos technologii Wicket Spring DAO Hades Key value store EntityManager Hibernate

  27. Komentarze, tagi i oceny w chmurze

  28. 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

  29. Cały stos technologii Wicket Spring DAO Hades Key value store Document store EntityManager Hibernate

  30. Jedna Pani drugiej Pani

  31. ... 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

  32. Na pożółkłej kartce papieru

  33. Cały stos technologii Wicket Spring DAO Hades Key value store Document store Graph database EntityManager Hibernate

  34. Cały stos technologii Wicket Spring DAO Hades Spring data EntityManager Key value store Document store Graph database Hibernate

  35. 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

  36. 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

  37. Store Long time Mutable Fast access Sophisticated queries Limited time Immutable Search

  38. 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

  39. So you think agile software development and building houses have nothing in common... WojciechSeliga Practical Guide to using REST for SOA Stefan Tilkov Five years of change, no outages Steve Freeman Monitoring 10 Critical Code Quality Metrics with Sonar Matthew McCullough

More Related