SlideShare uma empresa Scribd logo
1 de 25
Nerelacijska sadašnjost,
 budućnost i primjene

       Mihovil Rister
        Pet Minuta
Pregled predavanja

•   Uvod o NoSQL-u
•   Kada, gdje, zašto?
•   Najbolje prakse
•   Bududnost NoSQL-a
•   Zaključak predavanja (Hint: Poly... ...ence)
Što je NoSQL? (1/2)




  • Sustavi namijenjeni nadopuni (a ne uvijek isključivo zamjeni) RDBMS.
  • Bijeg od „One size fits all” načina razmišljanja (Nestrukturirani podaci).
Što je NoSQL? (2/2)

• Robustni distribuirani sustavi za pohranu podataka
• Schema-less - fleksibilnost pri radu s
  nestrukturiranim podacima
• Super brzi, super skalabilni
• Rade izvrsno na commodity hardveru
• Nisu skupi (često Open Source)
• Novi sustavi, sustavi u razvoju
• Big Data – odlično barataju velikom količinom
  podataka
Evolucija




 "It is not the strongest of the species that survives, nor the most intelligent that
             survives. It is the one that is the most adaptable to change."
Raznovrsnost NoSQL-a




      Bogatstvo izbora za skoro sve domene problema!
Povijest NoSQL-a




      Vedinom se pojavljuju u skorije vrijeme, iz potrebe
     udovoljavanju DANAŠNJIM zahtjevima i problemima
Svojstva baza

• ACID -> uglavnom RDBMS
• BASE -> uglavnom NoSQL

 ACID :                    BASE
  A – atomicitet.           BASIC AVAILABILITY
  C – konzistentnost.       SOFT STATE
  I – izolacija.            EVENTUAL CONSISTENCY
  D – durabilnost.
                           • Baza je dostupna u osnovi cijelo vrijeme
                             (BA)
                           • Ne mora biti konzistentna cijelo vrijeme (S)
                           • Ali de biti u nekom poznatom stanju s
                             vremenom (E)
Koje vrste postoje ?
• Prema modelu pohrane djele se na:
• Key-value/tuple :
     Redis, Oracle NoSQL (ACID compliant), Riak, Tokyo Cabinet / Tyrant,
     Voldemort, Amazon Dynamo, Memcached
• Document:            OObjectDatabase db = new
    CouchDB (ACID      OObjectDatabaseTx("remote:localhost/petshop").open("admin", "admin");
                     compliant), MongoDB, TerraStore, Lotus Notes (možda i
                       db.getEntityManager().registerEntityClass(Person.class);
    najstariji)
• Wide Column/Colum Oriented:
                 Person p = db.newInstance(Person.class);
                       p.setName( „Marko" );
     Google BigTable, Apache Cassandra, Hadoop/Hbase/Hypertable, Amazon
                       p.setSurname( „Markovid" );
     SimpleDb          p.setCity( new City( „Rovinj", „Hrvatska" ) );

• Graph:               db.save( p );
     Neo4J, InfiniteGraph, VertexDb, FlocDb,
                       db.close();               ...
• Object:
    db4O, Versant, Objectivity, NEO
• XML, Multivalue i ostale
Klasifikacija po svojstvima
NoSQL danas
• Iako su to često sustavi tek u razvoju, prihvadenost je velika
• Tko koristi (tko je prepoznao vrijednost):
   • Uglavnom svi Big data igrači :
      Google, Facebook, Amazon, Linked-In, Twitter,...
   • Telekomi:
      Siemens, Ericsson, Qualcomm,...
   • Znanost:
      CERN (MongoDB), Big data genomics (Cassandra),
      Sveučilišta
   • Vojska, aeronautika, info portali (BBC), Startup-i i mnogi
      drugi
• Mnogi NoSQL imaju ozbiljne limitacije, koje je bitno poznavati
• More resursa za učenje/administraciju/marketing (Hot topic)
No SQL sada




 I developeri sve više shvadaju važnost posjedovanja NoSQL skillova i iskustva
Zašto koristiti No-SQL?

Pros:                                      Cons ( prednost na strani RDBMS-a):
•   Radite s velikim i nestrukturiranim    •   Radite sa strukturiranim podacima koji
    podacima                                   lako „sjedaju” u tablice
•   Brzina unosa (i opdenito) je bitna     •   Skaliranje (out) ili shardiranje vam nije
•   Konzistentnost nije pretjerano bitna       teško ili uopde potrebno
•   Imate kompleksne relacije              •   Konzistentnost je najbitnija (financije i
•   Želite jednostavno i lako skalirati        ostali bitni podaci se ne smiju gubiti niti
    (scale in and scale out)                   čekati)
•   Nemate budžet za skupe RDBMS           •   Imate budžet
    licence                                •   Imate stručne i efikasne developere za
•   Želite ubrzati razvoj aplikacija           rad s RDBMS
•   Ne trebate komplicirani querying       •   Čuli ste za NoSQL (hype) i po svaku
•   Visoka dostupnost podataka                 cijenu ga morate implementirati jer je
•   Cloud, PaaS                                to sada In :-S
•   Želite da vaše aplikacije/sustavi      •   Volite se držati starog i poznatog
    djeluju moderno i sexy                    („better the devil you know than the
                                               devil you don't ”)
Kako odabrati? (SQL vs NoSQL)


• Jako dobro poznavati domenu problema koju Vaša
  aplikacija/sustav ima (u smislu pohrane podataka).
• Ako je bitna konzistentnost podataka i analitika tada RDBMS
• Ako su bitni dostupnost, tolerantnost na kvarove i laka
  skalabilnost tada NoSQL
• Ne biti ograničen sa ILI. Zašto ne i I ? SQL+NoSQL
• I najbitnije od svega:

       PROBAJTE - POKUŠAJTE – EKSPERIMENTIRAJTE !
Općenite NoSQL najbolje prakse (Use cases)
  Dobri primjeri pametnog korištenja:
  • Velika količina podataka, nestrukturirani podaci npr. sustavi za
    pohranu u strojarstvu, aeronautici, telekomunikacijama i medicini
  • Mail, Pretraživanje, Online storage, Social, Big Inventory
  • Domain Driven Design sustavi i Model Driven Design Web aplikacije

  •   Weblogs                        •   Ticketing /rezervacijski sustavi
  •   Clickstreams,                  •   Posluživanje oglasa
  •   Online-Offiline data syncing   •   Machine learning
  •   Igre, Logističke aplikacije    •   Detekcije jezika
  •   Read Only aplikacije           •   Sustavi za putovanja
  •   Cache                          •   Social aplikacije
  •   DMS, CMS, User management      •   Simulacije
  •   Arhiviranje                    •   Protein folding
  •   Load Redistribution            •   Fraud detection
                                     •   Stock trading
                                     •   ...
Općenite NoSQL najbolje prakse
• Detaljno poznavati problematiku koju pokušavate riješiti i ograničenja
  tehnologije koju implementirate
• Testirati iscrpno
• Prihvatiti (ili odbiti) rješenje sa konkretnim realnim i tehničkim
  razlozima
• Dobro poznavati potrebe Vaših podataka (durabilnost, dostupnost i
  konzistencija u vremenu)
• Nikako podrazumjevati da de se sve iz RDBMS-a se lako pretočiti u neki
  NoSQL
• Koristite sve feature koje rješenje pruža (npr. replikacija, failover
  opcije, ...)
• Detaljno nadgledajte bazu u radu!!
• Tražite dobru (i dobro dokumentiranu) integriranost s drugim poznatim
  i prihvadenim alatima /tehnologijama (Lucene, SOLR)
NoSQL situacija

Trenutno vidimo:
   • Sve bolju prihvadenost
   • Ogroman i rastudi broj uspješnih deploymenta
     (pogotovo MongoDb)
   • Puno bolja podrška od popularnih (JAVA) frameworka i
     tehnologija (JPA, JCA).
     Spring Data: (Neo4j, MongoDB), Eclipse Link:
     (MongoDb, Oracle-NoSQL) , Morphia, Hibernate
     OGM,...
   • Gotovo sva NoSQL rješenja imaju podršku za JAVA-u, a i
     druge moderne tehnologije i jezike (REST, JavaScript,...)
Što očekujemo u budućnosti od NoSQL-a?
•   Jednostavnija administracija (-> 0 administration)
•   Veda zrelost (Maturity)
•   Bolji security i bolji Query-ing. Standardizacija?
•   Da pojedina rješenja poprave svoje limitacije i ostale „dječje
    bolesti”
•   Bolja podrška za mobilne platforme
•   Veda uporaba u enterprise i embedded sustavima (J2EE
    pogotvo)
•   Bolja J2EE podrška (pristiže u novim verzijama JAVA-e)
•   Više Cloud providera (Hosting)
Budućnost NoSQL-a

 • U zadnje vrijeme NoSQL tržište je vrlo aktivno sa puno
   venture fundinga, akvizicija i spajanja (mergera)
    • May 2012 – 10gen secures $42 million in venture
       funding
    • November 2011 – Cloudera Inc., the provider of
       Apache Hadoop-based data management software
       and services, raises $40 million
    • November 2011 – Basho, the company behind Riak,
       raises $5 Mln
    • ...
Budućnost NoSQL-a




                                                    Market Research Media Ltd.




 • Svjetsko NoSQL tržište de dosedi 3.4 milijarde USD do 2018 uz CAGR od 21%
   između 2013 i 2018!
 • NoSQL tržište de generirati 14 milijardi USD prihoda u periodu 2013 – 2018.
Zaključak



Bududnost je: Polyglot Persistence !!
• Korištenje više tehnologija za pohranu
  podataka, odabranih po načinu na koji de se ti
  podaci koristiti u aplikaciji (ili aplikacijama)
Zaključak
• Jednostavni primjer poslovne aplikacije po polyglot persistanceu
       Brzo pisanje i čitanje.             Potrebna ACID sigurnost       Visoka dostupnost na svim lokacijama          Brzo pretraživanje
       Durabilnost nije jako bitna.        (transakcijski update-ovi).   i spajanje nekonzistentnih zapisa.            po prijateljima,
                                                                                                                       linkovima,
                                                                                                                       poveznicama,
                                                                                                                       rejtingu...




Puno čitanja, malo pisanja.           SQL je odličan za                  Analitika velike skale na   Velika količina zapisa podataka
Proizvod je savršen primjer.          integriranje u ved postojede       velikom klasteru.           na veliki broj nod-ova.
                                      reporting sustave.
Literatura

• NoSQL Databases - Christof Strauch, Stuttgart Media
  University
• NoSQL Distilled A Brief Guide to the Emerging World of
  Polyglot Persistence
  Pramod J. Sadalage, Martin Fowler Addison Wesley
• The future is: Ployglot Persistence
  Pramod J. Sadalage, Martin Fowler
• Professional NoSQL
  Shashank Tiwari, Wiley (ISBN: 978-0-470-94224-6)

• nosql-database.org
Kontakt

• Mihovil Rister


  mail    mihovil.rister@fiveminutes.eu
  linkedin http://www.linkedin.com/in/mihovilrister




  http://www.fiveminutes.eu
Kraj! – Hvala na pažnji!

Mais conteúdo relacionado

Semelhante a Mihovil Rister nerelacijaka sadašnjost, budućnost i primjene rev 1.4

HUJAK NoSQL - mihovil rister
HUJAK NoSQL - mihovil rister HUJAK NoSQL - mihovil rister
HUJAK NoSQL - mihovil rister Mihovil Rister
 
Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaFive
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeMihovil Rister
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in BosnianMind The Firebird
 
Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)IT Showoff
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Denis Kranjčec
 
(Windays 13) Microsoft Big Data Platform
(Windays 13) Microsoft Big Data Platform(Windays 13) Microsoft Big Data Platform
(Windays 13) Microsoft Big Data PlatformLuka Lovosevic
 
Data WareHose
Data WareHoseData WareHose
Data WareHoseKruno Ris
 
Linq to Sql vs NHibernate
Linq to Sql vs NHibernateLinq to Sql vs NHibernate
Linq to Sql vs NHibernatepaki_zg
 
Marin information age final2010.
Marin information age final2010.Marin information age final2010.
Marin information age final2010.Oracle Hrvatska
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. Stipe Predanic
 
eZ Publish intro
eZ Publish introeZ Publish intro
eZ Publish introivrdoljak
 
Thick database concept by example
Thick database concept by exampleThick database concept by example
Thick database concept by examplePatrik Franković
 

Semelhante a Mihovil Rister nerelacijaka sadašnjost, budućnost i primjene rev 1.4 (20)

HUJAK NoSQL - mihovil rister
HUJAK NoSQL - mihovil rister HUJAK NoSQL - mihovil rister
HUJAK NoSQL - mihovil rister
 
Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, Javantura
 
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil RisterJavantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in Bosnian
 
Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?
 
(Windays 13) Microsoft Big Data Platform
(Windays 13) Microsoft Big Data Platform(Windays 13) Microsoft Big Data Platform
(Windays 13) Microsoft Big Data Platform
 
Data WareHose
Data WareHoseData WareHose
Data WareHose
 
Lambda arhitektura
Lambda arhitekturaLambda arhitektura
Lambda arhitektura
 
Javantura Zagreb 2014 - Alfresco-Neo4j integracija - Damir Murat
Javantura Zagreb 2014 - Alfresco-Neo4j integracija - Damir MuratJavantura Zagreb 2014 - Alfresco-Neo4j integracija - Damir Murat
Javantura Zagreb 2014 - Alfresco-Neo4j integracija - Damir Murat
 
Linq to Sql vs NHibernate
Linq to Sql vs NHibernateLinq to Sql vs NHibernate
Linq to Sql vs NHibernate
 
Marin information age final2010.
Marin information age final2010.Marin information age final2010.
Marin information age final2010.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
 
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad PećanacJavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
 
eZ Publish intro
eZ Publish introeZ Publish intro
eZ Publish intro
 
eZ publish intro
eZ publish introeZ publish intro
eZ publish intro
 
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
 
Thick database concept by example
Thick database concept by exampleThick database concept by example
Thick database concept by example
 
Baze podataka i SQL - Vlatko Vlahek
Baze podataka i SQL - Vlatko VlahekBaze podataka i SQL - Vlatko Vlahek
Baze podataka i SQL - Vlatko Vlahek
 

Mihovil Rister nerelacijaka sadašnjost, budućnost i primjene rev 1.4

  • 1. Nerelacijska sadašnjost, budućnost i primjene Mihovil Rister Pet Minuta
  • 2. Pregled predavanja • Uvod o NoSQL-u • Kada, gdje, zašto? • Najbolje prakse • Bududnost NoSQL-a • Zaključak predavanja (Hint: Poly... ...ence)
  • 3. Što je NoSQL? (1/2) • Sustavi namijenjeni nadopuni (a ne uvijek isključivo zamjeni) RDBMS. • Bijeg od „One size fits all” načina razmišljanja (Nestrukturirani podaci).
  • 4. Što je NoSQL? (2/2) • Robustni distribuirani sustavi za pohranu podataka • Schema-less - fleksibilnost pri radu s nestrukturiranim podacima • Super brzi, super skalabilni • Rade izvrsno na commodity hardveru • Nisu skupi (često Open Source) • Novi sustavi, sustavi u razvoju • Big Data – odlično barataju velikom količinom podataka
  • 5. Evolucija "It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change."
  • 6. Raznovrsnost NoSQL-a Bogatstvo izbora za skoro sve domene problema!
  • 7. Povijest NoSQL-a Vedinom se pojavljuju u skorije vrijeme, iz potrebe udovoljavanju DANAŠNJIM zahtjevima i problemima
  • 8. Svojstva baza • ACID -> uglavnom RDBMS • BASE -> uglavnom NoSQL ACID : BASE A – atomicitet. BASIC AVAILABILITY C – konzistentnost. SOFT STATE I – izolacija. EVENTUAL CONSISTENCY D – durabilnost. • Baza je dostupna u osnovi cijelo vrijeme (BA) • Ne mora biti konzistentna cijelo vrijeme (S) • Ali de biti u nekom poznatom stanju s vremenom (E)
  • 9. Koje vrste postoje ? • Prema modelu pohrane djele se na: • Key-value/tuple : Redis, Oracle NoSQL (ACID compliant), Riak, Tokyo Cabinet / Tyrant, Voldemort, Amazon Dynamo, Memcached • Document: OObjectDatabase db = new CouchDB (ACID OObjectDatabaseTx("remote:localhost/petshop").open("admin", "admin"); compliant), MongoDB, TerraStore, Lotus Notes (možda i db.getEntityManager().registerEntityClass(Person.class); najstariji) • Wide Column/Colum Oriented: Person p = db.newInstance(Person.class); p.setName( „Marko" ); Google BigTable, Apache Cassandra, Hadoop/Hbase/Hypertable, Amazon p.setSurname( „Markovid" ); SimpleDb p.setCity( new City( „Rovinj", „Hrvatska" ) ); • Graph: db.save( p ); Neo4J, InfiniteGraph, VertexDb, FlocDb, db.close(); ... • Object: db4O, Versant, Objectivity, NEO • XML, Multivalue i ostale
  • 11. NoSQL danas • Iako su to često sustavi tek u razvoju, prihvadenost je velika • Tko koristi (tko je prepoznao vrijednost): • Uglavnom svi Big data igrači : Google, Facebook, Amazon, Linked-In, Twitter,... • Telekomi: Siemens, Ericsson, Qualcomm,... • Znanost: CERN (MongoDB), Big data genomics (Cassandra), Sveučilišta • Vojska, aeronautika, info portali (BBC), Startup-i i mnogi drugi • Mnogi NoSQL imaju ozbiljne limitacije, koje je bitno poznavati • More resursa za učenje/administraciju/marketing (Hot topic)
  • 12. No SQL sada I developeri sve više shvadaju važnost posjedovanja NoSQL skillova i iskustva
  • 13. Zašto koristiti No-SQL? Pros: Cons ( prednost na strani RDBMS-a): • Radite s velikim i nestrukturiranim • Radite sa strukturiranim podacima koji podacima lako „sjedaju” u tablice • Brzina unosa (i opdenito) je bitna • Skaliranje (out) ili shardiranje vam nije • Konzistentnost nije pretjerano bitna teško ili uopde potrebno • Imate kompleksne relacije • Konzistentnost je najbitnija (financije i • Želite jednostavno i lako skalirati ostali bitni podaci se ne smiju gubiti niti (scale in and scale out) čekati) • Nemate budžet za skupe RDBMS • Imate budžet licence • Imate stručne i efikasne developere za • Želite ubrzati razvoj aplikacija rad s RDBMS • Ne trebate komplicirani querying • Čuli ste za NoSQL (hype) i po svaku • Visoka dostupnost podataka cijenu ga morate implementirati jer je • Cloud, PaaS to sada In :-S • Želite da vaše aplikacije/sustavi • Volite se držati starog i poznatog djeluju moderno i sexy  („better the devil you know than the devil you don't ”)
  • 14. Kako odabrati? (SQL vs NoSQL) • Jako dobro poznavati domenu problema koju Vaša aplikacija/sustav ima (u smislu pohrane podataka). • Ako je bitna konzistentnost podataka i analitika tada RDBMS • Ako su bitni dostupnost, tolerantnost na kvarove i laka skalabilnost tada NoSQL • Ne biti ograničen sa ILI. Zašto ne i I ? SQL+NoSQL • I najbitnije od svega: PROBAJTE - POKUŠAJTE – EKSPERIMENTIRAJTE !
  • 15. Općenite NoSQL najbolje prakse (Use cases) Dobri primjeri pametnog korištenja: • Velika količina podataka, nestrukturirani podaci npr. sustavi za pohranu u strojarstvu, aeronautici, telekomunikacijama i medicini • Mail, Pretraživanje, Online storage, Social, Big Inventory • Domain Driven Design sustavi i Model Driven Design Web aplikacije • Weblogs • Ticketing /rezervacijski sustavi • Clickstreams, • Posluživanje oglasa • Online-Offiline data syncing • Machine learning • Igre, Logističke aplikacije • Detekcije jezika • Read Only aplikacije • Sustavi za putovanja • Cache • Social aplikacije • DMS, CMS, User management • Simulacije • Arhiviranje • Protein folding • Load Redistribution • Fraud detection • Stock trading • ...
  • 16. Općenite NoSQL najbolje prakse • Detaljno poznavati problematiku koju pokušavate riješiti i ograničenja tehnologije koju implementirate • Testirati iscrpno • Prihvatiti (ili odbiti) rješenje sa konkretnim realnim i tehničkim razlozima • Dobro poznavati potrebe Vaših podataka (durabilnost, dostupnost i konzistencija u vremenu) • Nikako podrazumjevati da de se sve iz RDBMS-a se lako pretočiti u neki NoSQL • Koristite sve feature koje rješenje pruža (npr. replikacija, failover opcije, ...) • Detaljno nadgledajte bazu u radu!! • Tražite dobru (i dobro dokumentiranu) integriranost s drugim poznatim i prihvadenim alatima /tehnologijama (Lucene, SOLR)
  • 17. NoSQL situacija Trenutno vidimo: • Sve bolju prihvadenost • Ogroman i rastudi broj uspješnih deploymenta (pogotovo MongoDb) • Puno bolja podrška od popularnih (JAVA) frameworka i tehnologija (JPA, JCA). Spring Data: (Neo4j, MongoDB), Eclipse Link: (MongoDb, Oracle-NoSQL) , Morphia, Hibernate OGM,... • Gotovo sva NoSQL rješenja imaju podršku za JAVA-u, a i druge moderne tehnologije i jezike (REST, JavaScript,...)
  • 18. Što očekujemo u budućnosti od NoSQL-a? • Jednostavnija administracija (-> 0 administration) • Veda zrelost (Maturity) • Bolji security i bolji Query-ing. Standardizacija? • Da pojedina rješenja poprave svoje limitacije i ostale „dječje bolesti” • Bolja podrška za mobilne platforme • Veda uporaba u enterprise i embedded sustavima (J2EE pogotvo) • Bolja J2EE podrška (pristiže u novim verzijama JAVA-e) • Više Cloud providera (Hosting)
  • 19. Budućnost NoSQL-a • U zadnje vrijeme NoSQL tržište je vrlo aktivno sa puno venture fundinga, akvizicija i spajanja (mergera) • May 2012 – 10gen secures $42 million in venture funding • November 2011 – Cloudera Inc., the provider of Apache Hadoop-based data management software and services, raises $40 million • November 2011 – Basho, the company behind Riak, raises $5 Mln • ...
  • 20. Budućnost NoSQL-a Market Research Media Ltd. • Svjetsko NoSQL tržište de dosedi 3.4 milijarde USD do 2018 uz CAGR od 21% između 2013 i 2018! • NoSQL tržište de generirati 14 milijardi USD prihoda u periodu 2013 – 2018.
  • 21. Zaključak Bududnost je: Polyglot Persistence !! • Korištenje više tehnologija za pohranu podataka, odabranih po načinu na koji de se ti podaci koristiti u aplikaciji (ili aplikacijama)
  • 22. Zaključak • Jednostavni primjer poslovne aplikacije po polyglot persistanceu Brzo pisanje i čitanje. Potrebna ACID sigurnost Visoka dostupnost na svim lokacijama Brzo pretraživanje Durabilnost nije jako bitna. (transakcijski update-ovi). i spajanje nekonzistentnih zapisa. po prijateljima, linkovima, poveznicama, rejtingu... Puno čitanja, malo pisanja. SQL je odličan za Analitika velike skale na Velika količina zapisa podataka Proizvod je savršen primjer. integriranje u ved postojede velikom klasteru. na veliki broj nod-ova. reporting sustave.
  • 23. Literatura • NoSQL Databases - Christof Strauch, Stuttgart Media University • NoSQL Distilled A Brief Guide to the Emerging World of Polyglot Persistence Pramod J. Sadalage, Martin Fowler Addison Wesley • The future is: Ployglot Persistence Pramod J. Sadalage, Martin Fowler • Professional NoSQL Shashank Tiwari, Wiley (ISBN: 978-0-470-94224-6) • nosql-database.org
  • 24. Kontakt • Mihovil Rister mail mihovil.rister@fiveminutes.eu linkedin http://www.linkedin.com/in/mihovilrister http://www.fiveminutes.eu
  • 25. Kraj! – Hvala na pažnji!

Notas do Editor

  1. Reći ćemo nešto općenito o NoSQl, što je to, što predstavlja, koje vrste postoje, koje mu je mijesto u svijetu!Nabrojiti neke najbolje prakse i povuci paralelu sa RDBMS.Reci cemo, takodjer i nesto o tome sto vidimo danas i sto nas ceka u buducnostiPovuci zakljucak
  2. Solucije za pohranu, prema DANAŠNJIM zahtjevima
  3. Široka skupina proizvoda za rješavanje problema iz različitih domena (često teško ili loše rješivih s RDBMS)Naglasak na brzini, jednostavnosti, dostupnosti i tolerantnosti na kvarove Žrtvuju se svojstva poput konzistentnostiIzbjegavanje nepotrebne kompleksnosti
  4. IZ grafa primijetiti postojanje NoSQl baza od pocekta 80tih te kasnije totalnu dominaciju RDBMS-a sve do skorijeg vremena.
  5. A - atomicitet Ako jedan dio transakcije ne uspije, niti će cijela transkacijaC – konzistentnost. Sva ograničenja moraju biti zadovoljena da bi transakcija uspjela.I – izolacija. Druge operacije nemogu vidjeti transakciju koja nije kompletirana.D – durabilnost. Kada je transakcija uspjela, ona neće biti izgubljena. Perzistirana je.-------------------------------------------------------------------------------------------------------BASEEventualna konzistentnost znači da će, u nekoj točki, sustav postati konzistentan jednom kada se svi upisi (writes) propagiraju po svim node-ovima
  6. Objasni malo rjecima, rukama sto je key value, Document i sve ostale
  7. Primjetimo iz grafa kako su pozicionirani NoSQLsustavi prema modelu pohrane u odnosu veličine i složenosti podataka.
  8. Generalno, puno prostora za napredak, unatoč velikoj prihvaćenostiNeki NoSQL imaju slabiju ili nikakvu dokumentaciju ili komercijalnu podrškuČesto slab ili nikakav built in security
  9. Htio bih da na ovom grafu vidite dvije bitne stvari:1: MongoDb je car a ni redis nije los2: Postoji i hrpetina drugih baza (na legendi). Znači developere NoSQl baze to privlače
  10. Znati vlastite limitacije (proizvoda, projekta, ljudstva,..)Znati dobro limitacije pojedinih NoSQL rješenja
  11. Document management – savršeno za document NoSQL-oveSkalabilne web usluge (Cloud):
  12. Ne podleći hypeuPokušajte ne razmišljati u okvirima RELACIJSKOGNe koristi 32-bitna rješenja (doughhhhh!)
  13. Sve traženiji i neophodniji skill na tržištu radaPorast broja NoSQL rješenja (250+)
  14. ..i puno toga Veća količina kadra koji dobro poznaje materiju
  15. (CAGR = Compound Annual Growth Rate)Na raju : Svijetla i obećavajuća budućnost
  16. Vidjeli smo da je to živahno i zanimljivo tržište te tehnološka niša sa svijetlom budućnosti, no što je zapravo budućnost pohrane podataka (pa i NoSQL-a) u poslovnim (enterprise) sustavima?Zašto binarnu sliku skladištiti u relacijskoj bazi ?Zašto financijske transakcije (update) raditi na eventualno konzistentnoj NoSQL bazi?SQL + NoSQL
  17. Evo nešto malo o meni, odakle dolazim tko sam i kako me možete kontaktirati.
  18. Imate pitanja? Super! Zapamtite pa će te me pitati poslije 