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...
Što je NoSQL? (1/2)  • Sustavi namijenjeni nadopuni (a ne uvijek isključivo zamjeni) RDBMS.  • Bijeg od „One size fits all...
Što je NoSQL? (2/2)• Robustni distribuirani sustavi za pohranu podataka• Schema-less - fleksibilnost pri radu s  nestruktu...
Evolucija "It is not the strongest of the species that survives, nor the most intelligent that             survives. It is...
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 problem...
Svojstva baza• ACID -> uglavnom RDBMS• BASE -> uglavnom NoSQL ACID :                    BASE  A – atomicitet.           BA...
Koje vrste postoje ?• Prema modelu pohrane djele se na:• Key-value/tuple :     Redis, Oracle NoSQL (ACID compliant), Riak,...
Klasifikacija po svojstvima
NoSQL danas• Iako su to često sustavi tek u razvoju, prihvadenost je velika• Tko koristi (tko je prepoznao vrijednost):   ...
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 ...
Kako odabrati? (SQL vs NoSQL)• Jako dobro poznavati domenu problema koju Vaša  aplikacija/sustav ima (u smislu pohrane pod...
Općenite NoSQL najbolje prakse (Use cases)  Dobri primjeri pametnog korištenja:  • Velika količina podataka, nestrukturira...
Općenite NoSQL najbolje prakse• Detaljno poznavati problematiku koju pokušavate riješiti i ograničenja  tehnologije koju i...
NoSQL situacijaTrenutno vidimo:   • Sve bolju prihvadenost   • Ogroman i rastudi broj uspješnih deploymenta     (pogotovo ...
Što očekujemo u budućnosti od NoSQL-a?•   Jednostavnija administracija (-> 0 administration)•   Veda zrelost (Maturity)•  ...
Budućnost NoSQL-a • U zadnje vrijeme NoSQL tržište je vrlo aktivno sa puno   venture fundinga, akvizicija i spajanja (merg...
Budućnost NoSQL-a                                                    Market Research Media Ltd. • Svjetsko NoSQL tržište d...
ZaključakBududnost je: Polyglot Persistence !!• Korištenje više tehnologija za pohranu  podataka, odabranih po načinu na k...
Zaključak• Jednostavni primjer poslovne aplikacije po polyglot persistanceu       Brzo pisanje i čitanje.             Potr...
Literatura• NoSQL Databases - Christof Strauch, Stuttgart Media  University• NoSQL Distilled A Brief Guide to the Emerging...
Kontakt• Mihovil Rister  mail    mihovil.rister@fiveminutes.eu  linkedin http://www.linkedin.com/in/mihovilrister  http://...
Kraj! – Hvala na pažnji!
Upcoming SlideShare
Loading in …5
×

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

558 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Nerelacijska sadašnjost, budućnost i primjene Mihovil Rister Pet Minuta
  2. 2. Pregled predavanja• Uvod o NoSQL-u• Kada, gdje, zašto?• Najbolje prakse• Bududnost NoSQL-a• Zaključak predavanja (Hint: Poly... ...ence)
  3. 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. 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. 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. 6. Raznovrsnost NoSQL-a Bogatstvo izbora za skoro sve domene problema!
  7. 7. Povijest NoSQL-a Vedinom se pojavljuju u skorije vrijeme, iz potrebe udovoljavanju DANAŠNJIM zahtjevima i problemima
  8. 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. 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
  10. 10. Klasifikacija po svojstvima
  11. 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. 12. No SQL sada I developeri sve više shvadaju važnost posjedovanja NoSQL skillova i iskustva
  13. 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 dont ”)
  14. 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. 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. 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. 17. NoSQL situacijaTrenutno 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. 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. 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. 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. 21. ZaključakBududnost 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. 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 podatakaProizvod je savršen primjer. integriranje u ved postojede velikom klasteru. na veliki broj nod-ova. reporting sustave.
  23. 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. 24. Kontakt• Mihovil Rister mail mihovil.rister@fiveminutes.eu linkedin http://www.linkedin.com/in/mihovilrister http://www.fiveminutes.eu
  25. 25. Kraj! – Hvala na pažnji!

×