SlideShare a Scribd company logo
1 of 22
HUJAK – Hrvatska Udruga Java
       Korisnika




Ne relacijske alternative.

NOSQL
O MENI

   Mihovil Rister, dipl.ing.el.
   Software developer
   Pet Minuta d.o.o.
   Linked In:
    hr.linkedin.com/in/mihovilrister
   mihovil.rister@gmail.com
PREGLED PREDAVANJA
   Što je NoSQL ?
   Odakle potreba?
   Teorija
   Glavni igrači
   SQL vs NoSQL. Tko je bolji?
   Očekivanja
   Zaključak
ŠTO JE NOSQL?
 NoSQL = Not only SQL
 Suprotnost ustaljenim rel. bazama
 Hype? – skepticizam je prisutan, ali NoSQL i
  nije toliko nov
 Nije direktna zamjena RDBMS
 Alternativa ili nadopuna
 Izbjegavanje nepotrebne kompleksnosti
 Bijeg od „One size fits all” načina razmišljanja
 Rješenja za pohranu podataka prema
  DANAŠNJIM potrebama
 Rješenja bez fiksne sheme
POTREBA ?
   Relacijski model je star (Codd 1969)
   Pokriti nedostatke RDBMS za današnje potrebe
   Imati vrhunsku skalabilnost
   Efektivno raditi s ogromnom količinom podataka (Big
    Data)
   Smanjiti kompleksnost i trošak razvoja s
    jednostavnošću (izbaciti ORM, jeftinija rješenja)
   Veliki pokretač NoSQL-a je računarstvo u oblaku
    (CLOUD)
   Prioritet su Dostupnost i Tolerancija na kvarove
   Općenito efektivan rad na svom commodity
    hardware-u
TEORIJA

 ACID (uglavnom RDBMS, no ne isključivo!)
 A – atomicitet. Ako jedan dio transakcije ne
  uspije, niti će cijela transkacija.
 C – konzistentnost. Sva ograničenja moraju
  biti zadovoljena da bi transakcija uspjela.
 I – izolacija. Druge operacije ne mogu vidjeti
  transkaciju koja nije kompletirana.
 D – durabilnost. Kada je transakcija uspjela,
  ona neće biti izgubljena. Perzistirana je.
TEORIJA
 BASE (pretežito NoSQL baze)
 BASIC AVAILABILITY
 SOFT STATE
 EVENTUAL CONSISTENCY
 Baza je dostupna u osnovi cijelo vrijeme
  (BA), ne mora biti konzistentna cijelo vrijeme
  (S) ali će biti u nekom poznatom stanju s
  vremenom (E)
 Apsolutna konzistentnost je glavni fokus
  RDBMS, ali ne NoSQL
TEORIJA
 BASE svojstva su dijametralno suprotna od
  ACID.
 ACID :
   - pesimističan
   - forsira konzistentnost na kraju svake operacije
 BASE :
  - optimističan
  - prihvaća da će konzistentnost baze biti u
  promijenjivom stanju
 U realnom svijetu, kako se nositi s time?
 To je izvedivo i dovodi do razina skalabilnosti
  koje se ne mogu postići rješenjima s ACID
TEORIJA
   CAP (Eric Brewer) Teorem
   3 poželjne karakteristike distribuiranog sustava

   C – konzistentnost. Svaki node u sustavu ima iste
    podatke (npr. replike su dobro sinkronizirane).
   A – dostupnost. Sustav je dizajniran tako da je
    dostupan i radi iako (neki) nodovi ne rade.
   P – particiona tolerantnost. Sustav će nastaviti raditi
    do potpunog mrežnog kvara.

   Teorem kaže da robustan sustav koji želi dobro
    skalirati može imati SAMO 2 karakteristike
   Bilo ACID ili BASE
TEORIJA
TEORIJA

 Prema CAP:
 ACID = C + P

 BASE = A + P

 A što je sa C + A ?
   Google-ov Bigtable je takvo rješenje
 Što koristiti u vlastitim projektima?

 Razmisliti o zahtjevima aplikacije i postupiti
  po njima. ACID + BASE kombinacija je
  također u igri.
GLAVNI NOSQL IGRAČI

   NoSQL su u glavnom:
     Key-Value/Tuple  baze
     Wide Column/Column oriented baze

     Document baze

     Object baze

     Graph baze

     XML, Multivalue i ostale
GLAVNI NOSQL IGRAČI

   Kategorizacija i Usporedba
     Tip     Performan   Skalabilno   Fleksibilno      Kompleksno              Funkcionalno
             se          st           st               st                      st

 Key-Value   Visoke      Visoka       Visoka           Niska                   Ovisi

 Column      Visoke      Visoka       Umjerena         Niska                   Minimalna

 Document    Visoke      Visoka       Visoka           Niska                   Ovisi
                                                                               Teorija
 Graph       Ovisi       Ovisi        Visoka           Visoka
                                                                               grafova
                                                                               Relacijska
 RDBMS       Ovisi       Ovisi        Niska            Umjerena
                                                                               algebra
                                                    Categorization and Comparison by Scofield and Popescu
GLAVNI NOSQL IGRAČI
   Key - Value baze:
     Redis
     Oracle   NoSQL (ACID compliant)
     Riak
     TokyoCabinet/Tyrant
     Voldemort
     Amazon Dynamo
     Memcached
     ....

   Linked-In, Amazon, BestBuy, Github, AOL,...
GLAVNI NOSQL IGRAČI
   Wide Column/Column oriented baze
     Google BigTable

     Apache Cassandra

     Hadoop/Hbase/Hypertable

     Amazon SimpleDb

   Amazon, Google, Facebook,
    RealNetworks..
GLAVNI NOSQL IGRAČI
   Document baze
     CouchDB (ACID compliant)

     MongoDB

     TerraStore

     Lotus Notes (možda i najstariji)

     ...

   Razne financijske i druge bitne institucije,
    vojska (U.S.), SAP, MTV, SourceForge...
GLAVNI NOSQL IGRAČI

   Objektne baze
       db4O
       Versant
       Objectivity
       NEO
       ...
Siemens, Int Ag, China telecom, European
Space Agency...
GLAVNI NOSQL IGRAČI

   Graph baze:
     Neo4J

     InfiniteGraph

     VertexDb

     FlocDb



   Twitter, Nortler, Ericson, Qualcomm,
    Siemens,...
SQL VS NOSQL. TKO JE BOLJI?

 U osnovi, sve ovisi o potrebama aplikacije
 Ništa nije crno i bijelo

 Ako je bitna konzistentnost tada RDBMS

 Ako je bitna dostupnost, tolerannost na
  kvarove i skalabilnost tada NoSQL
 A može i SQL+NoSQL  (Best of both
  worlds)
OČEKIVANJA
   Od NoSQL baza se očekuje da budu:
       Elastične u skaliranju, ekonomične, jednostavne i
        fleksibilne
   Izazovi koji stoje pred njima:
     Zrelost
     Kvalitetnija podrška (komercijalna)
     Bolja pogodnost za analitiku i BI
     0-administration (pomalo nerealno, ali opet...)
     Dostupna prihvatljiva ekspertiza (iskusni inženjeri i
      admini)
     Robusniji i jači, ugrađeni sustavi sigurnosti
ZAKLJUČAK
 NoSQL nije samo hype i mlada tehnologija
 Alternativa, uz poznata ograničenja i
  mogućnosti
 RDBMS Killer ? – Nikako, više kao mlađi
  brat/sestra koji polako stasava i preuzima dio
  tereta
 Prihvaćenost je sve bolja i bit će kako
  NoSQL rješenja sazrijevaju
 Skepticizam može biti opravdan, ali samo iz
  pravih, konkretnih razloga
KRAJ – QVEŠČNZ ?

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

HUJAK NoSQL - mihovil rister

  • 1. HUJAK – Hrvatska Udruga Java Korisnika Ne relacijske alternative. NOSQL
  • 2. O MENI  Mihovil Rister, dipl.ing.el.  Software developer  Pet Minuta d.o.o.  Linked In: hr.linkedin.com/in/mihovilrister  mihovil.rister@gmail.com
  • 3. PREGLED PREDAVANJA  Što je NoSQL ?  Odakle potreba?  Teorija  Glavni igrači  SQL vs NoSQL. Tko je bolji?  Očekivanja  Zaključak
  • 4. ŠTO JE NOSQL?  NoSQL = Not only SQL  Suprotnost ustaljenim rel. bazama  Hype? – skepticizam je prisutan, ali NoSQL i nije toliko nov  Nije direktna zamjena RDBMS  Alternativa ili nadopuna  Izbjegavanje nepotrebne kompleksnosti  Bijeg od „One size fits all” načina razmišljanja  Rješenja za pohranu podataka prema DANAŠNJIM potrebama  Rješenja bez fiksne sheme
  • 5. POTREBA ?  Relacijski model je star (Codd 1969)  Pokriti nedostatke RDBMS za današnje potrebe  Imati vrhunsku skalabilnost  Efektivno raditi s ogromnom količinom podataka (Big Data)  Smanjiti kompleksnost i trošak razvoja s jednostavnošću (izbaciti ORM, jeftinija rješenja)  Veliki pokretač NoSQL-a je računarstvo u oblaku (CLOUD)  Prioritet su Dostupnost i Tolerancija na kvarove  Općenito efektivan rad na svom commodity hardware-u
  • 6. TEORIJA  ACID (uglavnom RDBMS, no ne isključivo!)  A – atomicitet. Ako jedan dio transakcije ne uspije, niti će cijela transkacija.  C – konzistentnost. Sva ograničenja moraju biti zadovoljena da bi transakcija uspjela.  I – izolacija. Druge operacije ne mogu vidjeti transkaciju koja nije kompletirana.  D – durabilnost. Kada je transakcija uspjela, ona neće biti izgubljena. Perzistirana je.
  • 7. TEORIJA  BASE (pretežito NoSQL baze)  BASIC AVAILABILITY  SOFT STATE  EVENTUAL CONSISTENCY  Baza je dostupna u osnovi cijelo vrijeme (BA), ne mora biti konzistentna cijelo vrijeme (S) ali će biti u nekom poznatom stanju s vremenom (E)  Apsolutna konzistentnost je glavni fokus RDBMS, ali ne NoSQL
  • 8. TEORIJA  BASE svojstva su dijametralno suprotna od ACID.  ACID : - pesimističan - forsira konzistentnost na kraju svake operacije  BASE : - optimističan - prihvaća da će konzistentnost baze biti u promijenjivom stanju  U realnom svijetu, kako se nositi s time?  To je izvedivo i dovodi do razina skalabilnosti koje se ne mogu postići rješenjima s ACID
  • 9. TEORIJA  CAP (Eric Brewer) Teorem  3 poželjne karakteristike distribuiranog sustava  C – konzistentnost. Svaki node u sustavu ima iste podatke (npr. replike su dobro sinkronizirane).  A – dostupnost. Sustav je dizajniran tako da je dostupan i radi iako (neki) nodovi ne rade.  P – particiona tolerantnost. Sustav će nastaviti raditi do potpunog mrežnog kvara.  Teorem kaže da robustan sustav koji želi dobro skalirati može imati SAMO 2 karakteristike  Bilo ACID ili BASE
  • 11. TEORIJA  Prema CAP:  ACID = C + P  BASE = A + P  A što je sa C + A ? Google-ov Bigtable je takvo rješenje  Što koristiti u vlastitim projektima?  Razmisliti o zahtjevima aplikacije i postupiti po njima. ACID + BASE kombinacija je također u igri.
  • 12. GLAVNI NOSQL IGRAČI  NoSQL su u glavnom:  Key-Value/Tuple baze  Wide Column/Column oriented baze  Document baze  Object baze  Graph baze  XML, Multivalue i ostale
  • 13. GLAVNI NOSQL IGRAČI  Kategorizacija i Usporedba Tip Performan Skalabilno Fleksibilno Kompleksno Funkcionalno se st st st st Key-Value Visoke Visoka Visoka Niska Ovisi Column Visoke Visoka Umjerena Niska Minimalna Document Visoke Visoka Visoka Niska Ovisi Teorija Graph Ovisi Ovisi Visoka Visoka grafova Relacijska RDBMS Ovisi Ovisi Niska Umjerena algebra Categorization and Comparison by Scofield and Popescu
  • 14. GLAVNI NOSQL IGRAČI  Key - Value baze:  Redis  Oracle NoSQL (ACID compliant)  Riak  TokyoCabinet/Tyrant  Voldemort  Amazon Dynamo  Memcached  ....  Linked-In, Amazon, BestBuy, Github, AOL,...
  • 15. GLAVNI NOSQL IGRAČI  Wide Column/Column oriented baze  Google BigTable  Apache Cassandra  Hadoop/Hbase/Hypertable  Amazon SimpleDb  Amazon, Google, Facebook, RealNetworks..
  • 16. GLAVNI NOSQL IGRAČI  Document baze  CouchDB (ACID compliant)  MongoDB  TerraStore  Lotus Notes (možda i najstariji)  ...  Razne financijske i druge bitne institucije, vojska (U.S.), SAP, MTV, SourceForge...
  • 17. GLAVNI NOSQL IGRAČI  Objektne baze  db4O  Versant  Objectivity  NEO  ... Siemens, Int Ag, China telecom, European Space Agency...
  • 18. GLAVNI NOSQL IGRAČI  Graph baze:  Neo4J  InfiniteGraph  VertexDb  FlocDb  Twitter, Nortler, Ericson, Qualcomm, Siemens,...
  • 19. SQL VS NOSQL. TKO JE BOLJI?  U osnovi, sve ovisi o potrebama aplikacije  Ništa nije crno i bijelo  Ako je bitna konzistentnost tada RDBMS  Ako je bitna dostupnost, tolerannost na kvarove i skalabilnost tada NoSQL  A može i SQL+NoSQL  (Best of both worlds)
  • 20. OČEKIVANJA  Od NoSQL baza se očekuje da budu:  Elastične u skaliranju, ekonomične, jednostavne i fleksibilne  Izazovi koji stoje pred njima:  Zrelost  Kvalitetnija podrška (komercijalna)  Bolja pogodnost za analitiku i BI  0-administration (pomalo nerealno, ali opet...)  Dostupna prihvatljiva ekspertiza (iskusni inženjeri i admini)  Robusniji i jači, ugrađeni sustavi sigurnosti
  • 21. ZAKLJUČAK  NoSQL nije samo hype i mlada tehnologija  Alternativa, uz poznata ograničenja i mogućnosti  RDBMS Killer ? – Nikako, više kao mlađi brat/sestra koji polako stasava i preuzima dio tereta  Prihvaćenost je sve bolja i bit će kako NoSQL rješenja sazrijevaju  Skepticizam može biti opravdan, ali samo iz pravih, konkretnih razloga