A Beginners Guide to noSQL

90.999 visualizações

Publicada em

Introduction to noSQL, the four different types of noSQL database that exist, and when you would want to choose SQL or noSQL for your work

Publicada em: Software, Engenharia
6 comentários
849 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
90.999
No SlideShare
0
A partir de incorporações
0
Número de incorporações
161
Ações
Compartilhamentos
0
Downloads
1.216
Comentários
6
Gostaram
849
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

A Beginners Guide to noSQL

  1. THE BEGINNERS GUIDE TO noSQL
  2. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE
  3. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME
  4. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME WE DON’T MAKE THINGS KNOWING THE STRUCTURE FROM DAY 1
  5. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME WE DON’T MAKE THINGS KNOWING THE STRUCTURE FROM DAY 1 SERVER ARCHITECTURE IS NOW AT A STAGE WHERE WE CAN TAKE ADVANTAGE OF IT
  6. salary lists most web applications social networks semantic trading SiZE Complexity relational databases
  7. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS
  8. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS EXTREME QUERY WORKLOAD IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT SCALE WITH AN RDBMS
  9. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS EXTREME QUERY WORKLOAD IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT SCALE WITH AN RDBMS SCHEMA EVOLUTION SCEMA FLEXIBILITY IS NOT TRIVIAL AT A LARGE SCALE BUT IT CAN BE WITH NO SQL
  10. NOSQL PROS AND CONS PROS MASSIVE SCALABILITY HIGH AVAILABILITY LOWER COST SCHEMA FLEXIBILITY SPARCE AND SEMI STRUCTURED DATA
  11. NOSQL PROS AND CONS PROS MASSIVE SCALABILITY HIGH AVAILABILITY LOWER COST SCHEMA FLEXIBILITY SPARCE AND SEMI STRUCTURED DATA CONS LIMITED QUERY CAPABILITIES NOT STANDARDISED (PORTABILITY MAY BE AN ISSUE) STILL A DEVELOPING TECHNOLOGY
  12. OSQL NOSQL NOSQL NOSQL QL BIGTABLE NOSQL NOSQL QL NOSQL NOSQL NOSQL N OSQL NOSQL KEY VALUE NO SQL NOSQL NOSQL NOSQL N NOSQL NOSQL NOSQL NOS NOSQL NOSQL NOSQL NOSQ QL NOSQL NOSQL NOSQL NO GRAPHDB NOSQL NOSQL N NOSQL NOSQL NOSQL NOS OSQL NOSQL NOSQL NOSQL SQL NOSQL DOCUMENT NOS FOUREMERGING TRENDS IN NOSQL DATABASES
  13. BUT FIRST… IMAGINE A LIBRARY LOTS OF DIFFERENT FLOORS DIFFERENT SECTIONS ON EACH FLOOR DIFFERENT BOOKSHELVES IN EACH SECTION LOTS OF BOOKS ON EACH SHELF LOTS OF PAGES IN EACH BOOK LOTS OF WORDS ON EACH PAGE EVERYTHING IS WELL ORGANISED AND EVERYTHING HAS A SPACE
  14. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE BUY TOO MANY BOOKS!? (THE WORLD EXPLODES AND THE KITTENS WIN)
  15. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO STORE CDS ALL OF A SUDDEN!? (THE WORLD EXPLODES AND THE KITTENS WIN)
  16. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO GET RID OF ALL BOOKS THAT MENTION KITTENS (KITTENS STILL WIN)
  17. BIG BEHAVES LIKE A STANDARD RELATIONAL DATABASE BUT WITH A SLIGHT CHANGE http://research.google.com/archive/bigtable.html http://research.google.com/archive/spanner.html DESIGNED TO WORK WITH A LOT OF DATA…A REALLY BIG CRAP TON CREATED BY GOOGLE AND NOW USED BY LOTS OF OTHERS TABLE
  18. THIS IS A STANDARD RELATIONAL DATABASE BIG TABLE THIS IS A BIG TABLE DATABASE (AND NOW THE NAME MAKES SENCE!)
  19. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  20. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  21. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  22. KEY VALUE AGAIN, DESIGNED TO WORK WITH A LOT OF DATA EACH BIT OF DATA IS STORED IN A SINGLE COLLECTION EACH COLLECTION CAN HAVE DIFFERENT TYPES OF DATA
  23. KEY VALUE A CB D E
  24. KEY VALUE A C D E OUR VALUES ARE HIDDEN INSIDE THE KEYS TO FIND OUT WHAT THEY ARE WE NEED TO QUERY THEM What is in Key B? The Triangle B
  25. KEY VALUE (VOLDERMORT)
  26. DOCUMENT STORE DESIGNED TO WORK WITH A LOT OF DATA (BEGINNING TO NOTICE A THEME?) VERY SIMILAR TO A KEY VALUE DATABASE MAIN DIFFERENCE IS THAT YOU CAN ACTUALLY SEE THE VALUES
  27. DOCUMENT STORE A CB D E
  28. DOCUMENT STORE A CB D E Bring me the triangles Yes m’lord.
  29. SIDENOTE REMEMBER HOW SQL DATABASES ARE LIBRARIES? NO SQL IS MORE LIKE A BAG OF CATS!
  30. SIDENOTE colour: tabby name: Gunther colour: ginger name: Mylo colour: grey name: Ruffus age: kitten colour: ginger(ish) name: Fred age: kitten colour: ginger(ish) name: Quentin legs: 3 WE CAN ADD IN FIELDS AS AND WHEN WE NEED THEM
  31. DOCUMENT STORE A CB D E Bring me the KITTENS! Of course m’lord.
  32. DOCUMENT STORE
  33. GRAPH DATABASE FOCUS HERE IS ON MODELLING THE STRUCTURE OF THE DATA INSPIRED BY GRAPH THEORY (GO MATHS!) SCALES REALLY WELL TO THE STRUCTURE OF THE DATA
  34. GRAPH DATABASE
  35. GRAPH DATABASE
  36. GRAPH DATABASE WORKS_WITH WORKS_WITH OWNS OWNS CARSHARES IN
  37. GRAPH DATABASE name: “Michael” twitter: “@mrmike name: “John” twitter:”@mrjohn” brand: “Toyota” currentState: “Broken” brand: “Vauxhall” currentState: “Working” WORKS_WITH WORKS_WITH OWNS OWNS CARSHARES IN
  38. GRAPH DATABASE name: “Michael” twitter: “@mrmike name: “John” twitter:”@mrjohn” brand: “Toyota” currentState: “Broken” brand: “Vauxhall” currentState: “Working” WORKS_WITH WORKS_WITH OWNS propertyType: “car” OWNS propertyType: “car” CARSHARES IN
  39. GRAPH DATABASE
  40. key/value store bigtable clone document database graph database SiZE Complexity
  41. key/value store bigtable clone document database graph database SiZE Complexity >90% of use cases
  42. WHEN TO USE NOSQL AND WHEN TO USE SQL
  43. THE BASICS High availability and disaster recovery are a must Understand the pros and cons of each design model Don’t pick something just because it is new Do you remember the zune? Don’t pick something based JUST on performance
  44. SQL High performance for transactions. Think ACID Highly structured, very portable Small amounts of data SMALL IS LESS THAN 500GB Supports many tables with different types of data Can fetch ordered data Compatible with lots of tools THE GOOD
  45. ATOMICITY CONSISTENCY ISOLATION DURABILITY SQL
  46. SQL High performance for transactions. Think ACID Highly structured, very portable Small amounts of data SMALL IS LESS THAN 500GB Supports many tables with different types of data Can fetch ordered data Compatible with lots of tools THE GOOD
  47. SQL Complex queries take a long time The relational model takes a long time to learn Not really scalable Not suited for rapid development THE BAD
  48. noSQL Fits well for volatile data High read and write throughput Scales really well Rapid development is possible In general it’s faster than SQL THE GOOD
  49. BASICALLY AVAILABLE SOFT STATE EVENTUALLY CONSISTENT noSQL
  50. noSQL Fits well for volatile data High read and write throughput Scales really well Rapid development is possible In general it’s faster than SQL THE GOOD
  51. noSQL Key/Value pairs need to be packed/unpacked all the time Still working on getting security for these working as well as SQL Lack of relations from one key to another THE GOOD
  52. tl;dr so use both, but think about when you want to use them! works great, can’t scale for large data works great, doesn't fit all situations SQL noSQL
  53. A lot of this content is loving ripped from lots of other (more impressive) presentations that are already on SlideShare - you should check them out! FINALLY

×