SlideShare a Scribd company logo
1 of 35
NOT
ONLY
 SQL
CZEŚĆ!
jestem filip
PLAN


 co to jest nosql?

   dlaczego nie?

   dlaczego tak?

kupuję to, co dalej?
IN COMPUTING, NOSQL IS A
 TERM USED TO DESIGNATE
 DATABASE MANAGEMENT
SYSTEMS THAT DIFFER FROM
   CLASSIC RELATIONAL
 DATABASE MANAGEMENT
  SYSTEMS (RDBMSES) IN
      SOME WAY.
NOSQL?
NOT ONLY SQL
http://www.flickr.com/photos/emagic/56206868
SKALOWALNOŚĆ


OHAI
NOSQL JEST...
nierelacyjny
rozproszony
horyzontalnie skalowalny
nieustrukturyzowany
replikowalny
ostatecznie zgodny
NOSQL


baza klucz-wartość

 baza kolumnowa

baza dokumentowa
PROJEKTOWANIE APLIKACJI
CAP THEOREM
ADMINISTRACJA
MONGODB

• baza   dokumentowa

• wydajna

• wysokodostępna

• skalowalna

•z   rozbudowanym językiem zapytań
MONGODB

• JSON, GridFS

• indeksy    geograficzne

• operacje    atomowe

• map   / reduce

• kolekcje   n-elementowe
REDIS


• klucz-wartość

• przechowujący   struktury danych

• łatwo   replikowalny

• (wkrótce)   klastrowalny
REDIS


• persystencja

• pamięc     wirtualna

• pipeline

• pub   / sub
REDIS - TYPY DANYCH

• łańcuchy   tekstowe

• hashe

• listy

• kolekcje

• kolekcje   posortowane
ARGUMENTUM AD AUDITOREM
       ARGUMENTUM AD BACULUM
  ARGUMENTUM AD HOMINEM FALLACIA
      ACCIDENTIS ARGUMENTUM AD
    IGNORANTIAM ARGUMENTUM AD
    MISERICORDIAM CIRCULUS VITIOSUS
       ARGUMENTUM AD NUMERUM
      ARGUMENTUM AD PERSONAM
   ARGUMENTUM AD POPULUM PETITIO
PRINCIPII ARGUMENTUM AD TRADITIONEM
ARGUMENTUM AD VANITATEM IGNORATIO
ELENCHI ARGUMENTUM AD VERECUNDIAM
DZIĘKUJĘ!
  pytania?

More Related Content

Featured

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 HubspotMarius Sescu
 
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 ChatGPTExpeed Software
 
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 EngineeringsPixeldarts
 
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 HealthThinkNow
 
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.pdfmarketingartwork
 
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 2024Neil Kimberley
 
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)contently
 
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 2024Albert Qian
 
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 InsightsKurio // The Social Media Age(ncy)
 
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 2024Search Engine Journal
 
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 summarySpeakerHub
 
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 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 Tessa Mero
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
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 managementMindGenius
 
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...RachelPearson36
 

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

OpenReaktor, Not Only SQL

Editor's Notes

  1. dlaczego go nie potrzebujesz dzisiaj, ale jeśli masz szczęście - możesz potrzebować go jutro\n
  2. \n
  3. \n
  4. na początek definicja - co to jest nosql\nkto z was miał styczność z nosql w produkcji\n
  5. definicja z wikipedii nie definiuje pojęcia prezycyjnie\na w zasadzie niczego nie precyzuje\nogólnie - system przetrzymywania danych, podobny do bazy danych, ale nią nie będący\n
  6. definicje są co najmniej 2 - pierwsza z nich wyklucza korzystanie z jakichkolwiek baz sql-owych\nta definicja nam się nie podoba\n
  7. tak jak ja to rozumiem\nnie brak SQL-a, ale “nie tylko SQL”\nnosql jedynie jako pomoc dla relacyjnych baz danych\ntak naprawdę nie ma jednoznacznej definicji - przedstawiam swój punkt widzenia\n
  8. po co w ogóle powstał nosql?\ndo czego Tobie może przydać się nosql\n
  9. pierwszy i podstawowy to skalowalność - nosql ma być magicznym rozwiązaniem, które ulży wszystkim problemom związanym ze skalowalnością - został tak naprawdę stworzony przez firmy, które musiały rozwiązać konkretny problem - dzisiaj się to zmienia, postawają wyspecjalizowane firmy tworzące takie rozwiązania\n
  10. baaaaaaardzo duuuuuuużo danych\npartycjonowanie pozwala na względnie łatwe przetrzymywanie ogromnej ilości danych\nw zwykłych bazach zwykle trzeba robić to na poziomie kodu (sharding)\n\n
  11. jako baza danych\n
  12. nierelacyjny, nie można wykonywać joinów, pobranie każdego zasobu wymaga osobnego zapytania do bazy danych, nie da się wyciągnać skomplikowanych struktur, które są ze sobą powiązane, nie da się wykonywać obliczeń - tak naprawdę przy pewnej skali chcesz wszystko obsługiwać asynchronicznie i trzymać wyniki\n
  13. rozproszony - w uproszczeniu - jest centrum, które bazą steruje, ale dane w niej zawarte są rozrzucone po wielu serwerach, a nawet lokalizacjach\n
  14. horyzontalnie skalowalny - skalowanie następuje poprzez dorzucanie maszyn, a nie dorzucanie sprzętu do pojedynczej maszyny - sprzęt tanieje, ale ilość pamięci, którą jesteśmy w stanie umieścić w serwerze zawsze będzie ograniczona (i mniejsza od najbardziej wyrafinowanych wymagań)\n
  15. nieustrukturyzowany - tak naprawdę w zaprzeczeniu do bazy danych, nie per se - nie ma kolumn, ale nawet klucz-wartość jest strukturą\n
  16. łatwo replikowalny - dane można trzymać w wielu kopiach i nie powinno to być skomplikowane\n
  17. ostatecznie zgodny - to najbardziej skomplikowany temat - po odpowiednio długim czasie od ostatniej aktualizacji bazy będzie ona taka sama we wszystkich kopiach\n
  18. typy nosql baz danych (opisać poszczególne typy)\nkv - memcached, nosql\nbaza kolumnowa - cassandra, simpledb, bigtable\ndokumentowa - couchdb, mongodb\n
  19. i teraz trzeba sobie odpowiedzieć na podstawowe pytanie - dlaczego nie chce mieć no sql\njak myślicie - dlaczego nie?\nodpowiem przez przykłady\n
  20. główną bazą jest mysql\n
  21. twitter chciał trzymać dane w cassandrze, pozostawił jednak wszystko w mysqlu\ntestuje Redisa\n
  22. projektowanie aplikacji w oparciu o nosql wymaga zupełnie innego podejścia,\nprojektowanie modelu danych jest dużo trudniejsze, odpytywanie bazy danych jest dużo trudniejsze - nie wszystko da się trzymać w jednym miejscu, nie wiadomo czy będzie potrzebny, premature optimization\n
  23. zgodność, dostępność, partycjonowanie - rozproszony system nigdy nie zapewni tych wszystkich elementów\n\nrozwiązanie tego problemu jest podstawowe dla zastosowania nosql\nmożna wybrać tylko 2 z trzech\n
  24. sprawa zupełnie podstawowa - administracja - jeszcze brakuje specjalistów, łatwiej znaleźć specjalistę od mysqla niż cassandry\nco zrobić w przypadku krytycznej sytuacji?\n
  25. te główne problemy to powód, dla którego to logo będziemy widzieć jeszcze bardzo długo\n
  26. czasami trzeba, bo nie ma innej możliwości\n2 bazy danych, na które warto spojrzeć, które mają przed sobą przyszłość w zastosowaniach nawet podstawowych, przy mniejszych serwisach\n
  27. baza dokumentowa\n
  28. dokumentowa - czyli do klucza przypisujemy dokument json, wydajna - bez joinów, ale posiada indeksy, wysokodostępna - automatyczna replikacja z failoverem mastera, skalowalna - automatyczny sharding, język zapytań - javascript + możliwość pisania map reduce\n
  29. ciekawostka - GridFS - czyli możliwość przechowywania plików w bazie danych (i ma to sens)\nindeksy geograficzne - coś, z czego mocno korzysta Foursquare - wyszukiwanie lokalizacji najbliższych wskanazej lokalizacji\n
  30. memcached na sterydach, serwer struktur danych\n
  31. \n
  32. persystencja - coś, czego nie ma memcache - zrzut bazy, dopisywanie do pliku\nwłasna pamięc wirtualna, która trzyma w RAM-ie tylko te dane, z których aktualnie korzystamy\npipeline - optymalizacja wykonywania operacji - wysłanie wielu komend bez czekania na odpowiedź poprzedniej\n
  33. łańcuchy tekstowe (ale ze wsparciem dla liczb całkowitych)\nhashe - czyli struktura w strukturze (świetnie optymalizuje wykorzystanie pamięci)\n
  34. produkuj się, Filip!\n
  35. \n