Programming and architecture of NOSQL web at 33degree

Jaroslaw Palka
Jaroslaw PalkaChief Architect at Lumesse (formerly known as StepStone Solutions)
Architecture and programming model for NOSQL web (Polish),[object Object],JarosławPałka,[object Object],What's new in ,[object Object],Java EE 6,[object Object],Sang Shin,[object Object],Programming Clojure,[object Object],VenkatSubramaniam,[object Object],Play! framework: a revolution in the Java world,[object Object],Nicolas Leroux,[object Object]
Poniższa prezentacja udostępniana jest w ramach  licencji DHMB (Don't Hurt My Brain).,[object Object],Prowadzący nie ponosi odpowiedzialności finansowej i moralnej za szkody wynikające z wzięcia zbyt serio zawartości tej prezentacji.,[object Object],Wliczając w to trwałe uszkodzenia neuronów, obniżenie aktywności neuroprzekaźników na poziomie molekularnym oraz grupowe zwolnienia z pracy.,[object Object]
Programming and architecture model for NOSQL web,[object Object],4Developers, Warszawa 2011,[object Object]
O mnie,[object Object],Administrator, programista, architekt, eksperymentalny manager,[object Object],Niespełniony autor http://primitive.jogger.pl oraz https://bitbucket.org/kcrimson/,[object Object],Po godzinach NOSQL, REST i JavaScript „funboy”,[object Object],Członek Stowarzyszenie Software Engineering Professionals Polska,[object Object]
Programming and architecture of NOSQL web at 33degree
Dziś w menu,[object Object],Trzy tezy, czyli drobiny przemyśleń i doświadczenia,[object Object],Jak to działa, czyli prawie na żywo kodowanie,[object Object],Wózek z zakupami,[object Object],Komentarze, oceny i chmury,[object Object],Rekomendacje,[object Object],Wnioski i inne architektologiczne brednie,[object Object],Brawa, pochwały oraz konstruktywne komentarze,[object Object]
Teza pierwsza,[object Object],Im bliżej masz do bazy tym rzadziej będziesz tam zaglądał,[object Object],czyli,[object Object],Make your data local,[object Object]
Ścieżka krytyczna,[object Object]
Samotność długodystansowca,[object Object],Cache sposobem na zmniejszenie dystansu do danych,[object Object],Osadzone (embedded) bazy danych w szczególnych przypadkach,[object Object],Jednak dystans na poziomie infrastruktury to nie wszystko,[object Object]
Na jednej kartce formatu A4,[object Object],City,[object Object],Employee,[object Object],Address,[object Object],Country,[object Object],Project,[object Object],Manager,[object Object],Program,[object Object]
Programming and architecture of NOSQL web at 33degree
Programming and architecture of NOSQL web at 33degree
Płaskie jest piękne,[object Object]
Teza druga,[object Object],Tyleż prawd ile par uszu do których ona dotarła,[object Object],czyli,[object Object],Put your data in right context,[object Object]
Programming and architecture of NOSQL web at 33degree
Wszyscy aktorzy na scenę,[object Object],Różni aktorzy to nie tylko inne zachowania systemu,[object Object],To także inna perspektywa w spojrzeniu na dane,[object Object],To także inny sposób wyszukiwania danych,[object Object],Czy w takiej sytuacji jeden wspólny model nadal ma sens?,[object Object]
Dla użytkownika,[object Object],Zamówienie,[object Object],Produkty,[object Object],Cena,[object Object],Status realizacji,[object Object]
Dla pracowników sklepu,[object Object],Zamówienie,[object Object],Numery identyfikacyjne produktów,[object Object],Lokazalizacja produktów w magazynach,[object Object],Status płatności,[object Object],Typ przesyłki,[object Object]
Dla pracowników marketingu,[object Object],Zamówienie,[object Object],Wiek zamawiającego,[object Object],Miejsce zamieszkania,[object Object],Miejsce pracy,[object Object],Średni dochód miesięczny,[object Object],„Direct” czy  „refferal”,[object Object]
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. ,[object Object]
Teza trzecia,[object Object],Pan szuka czy błądzi?,[object Object],czyli,[object Object],Store vs search,[object Object]
Tradycyjne spojrzenie,[object Object]
Po drugiej stronie lustra,[object Object]
Witajcie w naszym sklepie,[object Object],Wózek z zakupami,[object Object],Komentarze, tagi i oceny w chmurze,[object Object],Rekomendacje,[object Object]
Cały stos technologii,[object Object],Wicket,[object Object],Spring,[object Object],DAO,[object Object],Hades,[object Object],EntityManager,[object Object],Hibernate,[object Object]
Wózek z zakupami,[object Object]
Wszyscy aktorzy na scenę,[object Object],Każdy użytkownik w danym momencie posiada jeden wózek z zakupami,,[object Object],Raz użyty wózek wyjeżdza na śmietnik a klient zabiera swoje zakupy do domu,,[object Object],Zawartość wózka jest niewspółmiernie częsciej przeglądana niż aktualizowana,[object Object]
Duże jest piękne tylko w naturze,[object Object],ShoppingCart,[object Object],ShoppingCart,[object Object],OrderItem,[object Object],[object Object],ShoppingCartItem,[object Object],[object Object]
productPrice
albumTitle
artistNameProduct,[object Object],[object Object],Album,[object Object],[object Object],Artist,[object Object],[object Object],[object Object]
Cały stos technologii,[object Object],Wicket,[object Object],Spring,[object Object],DAO,[object Object],Hades,[object Object],Key value store,[object Object],EntityManager,[object Object],Hibernate,[object Object]
Komentarze, tagi i oceny w chmurze,[object Object]
Każdy ma prawo do wypowiedzi,[object Object],Komentarze, tagi i oceny mają pomóc użytkownikom podjąć decyzję,[object Object],Raz zapisane pozostaja niezmienne w systemie,[object Object],Budowanie statystyk, trendów oraz rekomendacji,[object Object]
Cały stos technologii,[object Object],Wicket,[object Object],Spring,[object Object],DAO,[object Object],Hades,[object Object],Key value store,[object Object],Document store,[object Object],EntityManager,[object Object],Hibernate,[object Object]
Jedna Pani drugiej Pani,[object Object]
... na kiedy to będzie?,[object Object],Co kupili inni?,[object Object],A co kupili Ci co inni kupili,[object Object],A może jeszcze albumy oznaczone tymi samymi tag’ami,[object Object],I do tego albumy wydane w tej samej wytwórni,[object Object],... I co jeszcze marketingowi przyjdzie do głowy,[object Object]
Na pożółkłej kartce papieru,[object Object]
Programming and architecture of NOSQL web at 33degree
Cały stos technologii,[object Object],Wicket,[object Object],Spring,[object Object],DAO,[object Object],Hades,[object Object],Key value store,[object Object],Document store,[object Object],Graph database,[object Object],EntityManager,[object Object],Hibernate,[object Object]
Cały stos technologii,[object Object],Wicket,[object Object],Spring,[object Object],DAO,[object Object],Hades,[object Object],Spring data,[object Object],EntityManager,[object Object],Key value store,[object Object],Document store,[object Object],Graph database,[object Object],Hibernate,[object Object]
O co w tym wszystkim chodzi?,[object Object],To nie tylko szybkość i wydajność,[object Object],To nie tylko skalowalność i insze inszości,[object Object],NOSQL to także zaawansowane indeksy jako uzupełnienie dla RDBMS,[object Object],„Giętkie” vs „skostniałe” struktury danych,[object Object],„Ludzkie” oblicze API dla programistów,[object Object]
Wnioski architektologiczne,[object Object],albowiem przedwczesna optymalizacja u źródeł zła wszelkiego więc nie idź zbyt wcześnie w NOSQL kolego,[object Object],uważaj co mierzysz i jako bardzo w to wierzysz,[object Object],jeden wspólny model to przeżytek i wielu klęsk początek,[object Object]
Store,[object Object],Long time,[object Object],Mutable,[object Object],Sophisticated queries,[object Object],Fast access,[object Object],Limited time,[object Object],Immutable,[object Object],Search,[object Object]
1 of 44

Recommended

Age Discovery by
Age DiscoveryAge Discovery
Age DiscoveryJon Herman
765 views35 slides
eindwerk beeld by
eindwerk beeldeindwerk beeld
eindwerk beeldel_kristoffolus
1K views78 slides
djibouti by
djiboutidjibouti
djiboutisemne
344 views26 slides
Brands Features And Architecture by
Brands Features And ArchitectureBrands Features And Architecture
Brands Features And Architecturelukasz k
514 views21 slides
Anglia by
AngliaAnglia
Angliakpodgorska
733 views9 slides
Buscaviajeros by
BuscaviajerosBuscaviajeros
Buscaviajerosguestdc8271
124 views1 slide

More Related Content

Similar to Programming and architecture of NOSQL web at 33degree

Usability Trudne Pytania by
Usability Trudne PytaniaUsability Trudne Pytania
Usability Trudne Pytaniaguest4e2bd4
275 views32 slides
Usability - Trudne Pytania by
Usability - Trudne PytaniaUsability - Trudne Pytania
Usability - Trudne PytaniaTomasz Karwatka
809 views32 slides
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k... by
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...Filip Dębowski
524 views40 slides
Java Data Objects by
Java Data ObjectsJava Data Objects
Java Data ObjectsWydawnictwo Helion
429 views31 slides
Inicjatywa NoSQL na przykładzie db4o by
Inicjatywa NoSQL na przykładzie db4oInicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4oMarcinStachniuk
2.1K views73 slides
Coviob czyli innowacyjne zarządzanie projektami by
Coviob czyli innowacyjne zarządzanie projektamiCoviob czyli innowacyjne zarządzanie projektami
Coviob czyli innowacyjne zarządzanie projektamiFundacja Rozwoju Branży Internetowej Netcamp
371 views19 slides

Similar to Programming and architecture of NOSQL web at 33degree(20)

Usability Trudne Pytania by guest4e2bd4
Usability Trudne PytaniaUsability Trudne Pytania
Usability Trudne Pytania
guest4e2bd4275 views
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k... by Filip Dębowski
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
Filip Dębowski524 views
Inicjatywa NoSQL na przykładzie db4o by MarcinStachniuk
Inicjatywa NoSQL na przykładzie db4oInicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4o
MarcinStachniuk2.1K views
Zasady technicznej organizacji projektów programistycznych by sztywny
Zasady technicznej organizacji projektów programistycznychZasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznych
sztywny1.2K views
Warsztat: Zabawa w agencję interaktywną. Projekt od A do Z. by Tomasz Karwatka
Warsztat: Zabawa w agencję interaktywną. Projekt od A do Z.Warsztat: Zabawa w agencję interaktywną. Projekt od A do Z.
Warsztat: Zabawa w agencję interaktywną. Projekt od A do Z.
Tomasz Karwatka558 views
Zabawa w agencję interaktywną. Projekt od A do Z. Tomasz Karwatka, Divante i ... by Biznes 2.0
Zabawa w agencję interaktywną. Projekt od A do Z.Tomasz Karwatka, Divante i ...Zabawa w agencję interaktywną. Projekt od A do Z.Tomasz Karwatka, Divante i ...
Zabawa w agencję interaktywną. Projekt od A do Z. Tomasz Karwatka, Divante i ...
Biznes 2.0458 views
Metoda analizy i specyfikowania wymagań na oprogramowanie by Jaroslaw Zelinski
Metoda analizy i specyfikowania wymagań na oprogramowanieMetoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanie
Jaroslaw Zelinski2.9K views
Modele mentalne a strony WWW (SparkUp 2010) by ThinkLab
Modele mentalne a strony WWW (SparkUp 2010)Modele mentalne a strony WWW (SparkUp 2010)
Modele mentalne a strony WWW (SparkUp 2010)
ThinkLab616 views
Uczący się sklep - systemowe podejście do rozwoju eCommerce by Tomasz Karwatka
Uczący się sklep - systemowe podejście do rozwoju eCommerceUczący się sklep - systemowe podejście do rozwoju eCommerce
Uczący się sklep - systemowe podejście do rozwoju eCommerce
Tomasz Karwatka408 views
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St... by Piotr Biegun
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Piotr Biegun2.3K views
Architektura aplikacji android by Sages
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
Sages2.4K views
Produkcja aplikacji internetowych by Tomasz Borowski
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
Tomasz Borowski997 views
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji by Tomasz Karwatka
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacjiNarzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Tomasz Karwatka1.5K views
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015) by Lukas Lesniewski
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Lukas Lesniewski595 views
Distributed Agile by 3camp
Distributed AgileDistributed Agile
Distributed Agile
3camp513 views

More from Jaroslaw Palka

We are crowd, we are anonymous by
We are crowd, we are anonymousWe are crowd, we are anonymous
We are crowd, we are anonymousJaroslaw Palka
1.8K views29 slides
Czterej jeźdźcy apokalipsy gdy Armagedon w JVM nadchodzi by
Czterej jeźdźcy apokalipsy  gdy Armagedon w JVM nadchodziCzterej jeźdźcy apokalipsy  gdy Armagedon w JVM nadchodzi
Czterej jeźdźcy apokalipsy gdy Armagedon w JVM nadchodziJaroslaw Palka
2.1K views70 slides
Systematyczny architekt na drodze ku planowanemu postarzaniu by
Systematyczny architekt na drodze ku planowanemu postarzaniuSystematyczny architekt na drodze ku planowanemu postarzaniu
Systematyczny architekt na drodze ku planowanemu postarzaniuJaroslaw Palka
1.4K views80 slides
Patterns for JVM languages JokerConf by
Patterns for JVM languages JokerConfPatterns for JVM languages JokerConf
Patterns for JVM languages JokerConfJaroslaw Palka
1.1K views67 slides
Systematyczny architekt na drodze ku planowanemu postarzaniu by
Systematyczny architekt na drodze ku planowanemu postarzaniuSystematyczny architekt na drodze ku planowanemu postarzaniu
Systematyczny architekt na drodze ku planowanemu postarzaniuJaroslaw Palka
921 views75 slides
Patterns for JVM languages - Geecon 2014 by
Patterns for JVM languages - Geecon 2014Patterns for JVM languages - Geecon 2014
Patterns for JVM languages - Geecon 2014Jaroslaw Palka
1.5K views62 slides

More from Jaroslaw Palka(8)

We are crowd, we are anonymous by Jaroslaw Palka
We are crowd, we are anonymousWe are crowd, we are anonymous
We are crowd, we are anonymous
Jaroslaw Palka1.8K views
Czterej jeźdźcy apokalipsy gdy Armagedon w JVM nadchodzi by Jaroslaw Palka
Czterej jeźdźcy apokalipsy  gdy Armagedon w JVM nadchodziCzterej jeźdźcy apokalipsy  gdy Armagedon w JVM nadchodzi
Czterej jeźdźcy apokalipsy gdy Armagedon w JVM nadchodzi
Jaroslaw Palka2.1K views
Systematyczny architekt na drodze ku planowanemu postarzaniu by Jaroslaw Palka
Systematyczny architekt na drodze ku planowanemu postarzaniuSystematyczny architekt na drodze ku planowanemu postarzaniu
Systematyczny architekt na drodze ku planowanemu postarzaniu
Jaroslaw Palka1.4K views
Patterns for JVM languages JokerConf by Jaroslaw Palka
Patterns for JVM languages JokerConfPatterns for JVM languages JokerConf
Patterns for JVM languages JokerConf
Jaroslaw Palka1.1K views
Systematyczny architekt na drodze ku planowanemu postarzaniu by Jaroslaw Palka
Systematyczny architekt na drodze ku planowanemu postarzaniuSystematyczny architekt na drodze ku planowanemu postarzaniu
Systematyczny architekt na drodze ku planowanemu postarzaniu
Jaroslaw Palka921 views
Patterns for JVM languages - Geecon 2014 by Jaroslaw Palka
Patterns for JVM languages - Geecon 2014Patterns for JVM languages - Geecon 2014
Patterns for JVM languages - Geecon 2014
Jaroslaw Palka1.5K views
Patterns for organic architecture by Jaroslaw Palka
Patterns for organic architecturePatterns for organic architecture
Patterns for organic architecture
Jaroslaw Palka3.2K views
I ty też możesz mieć swoje dane w cache by Jaroslaw Palka
I ty też możesz mieć swoje dane w cacheI ty też możesz mieć swoje dane w cache
I ty też możesz mieć swoje dane w cache
Jaroslaw Palka1.1K views

Programming and architecture of NOSQL web at 33degree

  • 1.
  • 2.
  • 3.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 13.
  • 14.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

Editor's Notes

  1. Hype cycleSzczyt Ślepego Zauroczenia,Dolina Rozpaczy, MongoDB i Forsquare, Cassandra i APIWzgórze Oświecenia, Równina Wiecznego Spokoju
  2. Przypowiść o dwóch ekipach pracowników i dowożeniu cegieł,
  3. W szczególnych przypadkach osadzone bazy danych (pełna izolacja, self contained applications, stateless), przykład gateway’a SMSowego, gdzie krótkie numery, rule, konfiguracja sesje w osadzonej bazie danych, dostep do danych poprzez interfejs restowy
  4. Na samym początku nasz model miesci się na jednej kartce papieru, jest przyjrzysty, czytelny, zrozumiały dla biznesu, wprost idealny,
  5. A kilka iteracji pozniej 
  6. Pokręcony diagram UML, pokazując że zbyt hierarchczna strukura, długi dystans, może sie źle skonczyć (przykład VersionOne), może animowany zaczynamy z klasa Company, Team, Project, Employee
  7. What do you see? Małe ładne złudzenie optyczne, konkurs, co kto widzi, Sandro del Prete
  8. Billy Newport,
  9. Pokazac model
  10. Pokazać model
  11. Wszystko sie moze zdarzyć