Question? Leave a message!




THE BEGINNERS GUIDE TO SQL

THE BEGINNERS GUIDE TO SQL 36
THE BEGINNERS GUIDE TO noSQLTHE WE ARE STORING MORE DATA NOW THAN WE EVER HAVE WHY BEFORETHE WE ARE STORING MORE DATA NOW THAN WE EVER HAVE WHY BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIMETHE WE ARE STORING MORE DATA NOW THAN WE EVER HAVE WHY BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME WE DON’T MAKE THINGS KNOWING THE STRUCTURE FROM DAY 1THE WE ARE STORING MORE DATA NOW THAN WE EVER HAVE WHY 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 ITSiZE social networks salary lists most web applications semantic trading relational databases ComplexityNOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERSNOSQL 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 RDBMSNOSQL 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 SQLNOSQL PROS AND CONS PROS MASSIVE SCALABILITY HIGH AVAILABILITY LOWER COST SCHEMA FLEXIBILITY SPARCE AND SEMI STRUCTURED DATANOSQL 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 TECHNOLOGYNOSQL NOSQL NOSQL NOSQL NOSQL NOSQL BIGTABLE NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL KEY VALUE NOSQL NO NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL FOUR NOSQL NOSQL NOSQL NOSQL NOSQL EMERGING TRENDS IN NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL DATABASES NOSQL GRAPHDB NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL DOCUMENT NOSQL NOSQL NOSQL NOSQL NOSQL NOSQL FIRST… BUT 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 SPACEFIRST… BUT IMAGINE A LIBRARY WHAT HAPPENS IF WE BUY TOO MANY BOOKS (THE WORLD EXPLODES AND THE KITTENS WIN)FIRST… BUT IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO STORE CDS ALL OF A SUDDEN (THE WORLD EXPLODES AND THE KITTENS WIN)FIRST… BUT IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO GET RID OF ALL BOOKS THAT MENTION KITTENS (KITTENS STILL WIN)BIG TABLE BEHAVES LIKE A STANDARD RELATIONAL DATABASE BUT WITH A SLIGHT CHANGE DESIGNED TO WORK WITH A LOT OF DATA…A REALLY BIG CRAP TON CREATED BY GOOGLE AND NOW USED BY LOTS OF OTHERS http://research.google.com/archive/spanner.html http://research.google.com/archive/bigtable.htmlBIG TABLE THIS IS A STANDARD THIS IS A BIG RELATIONAL TABLE DATABASE (AND NOW THE NAME MAKES SENCE) DATABASEBIG 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.”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.”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.”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 DATAKEY VALUE A B C D EKEY OUR VALUES ARE HIDDEN INSIDE THE KEYS VALUE TO FIND OUT WHAT THEY ARE WE NEED TO QUERY THEM A B C D E What is in Key B The TriangleKEY VALUE (VOLDERMORT)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 VALUESDOCUMENT STORE A B C D EDOCUMENT STORE A B C D E Bring me the triangles Yes m’lord.SIDE NOTE REMEMBER HOW SQL DATABASES ARE LIBRARIES NO SQL IS MORE LIKE A BAG OF CATSSIDE NOTE WE CAN ADD IN FIELDS AS AND WHEN WE NEED THEM colour: tabby colour: ginger name: Gunther name: Mylo colour: grey colour: ginger(ish) colour: ginger(ish) name: Ruffus name: Fred name: Quentin age: kitten age: kitten legs: 3DOCUMENT STORE A B C D E Bring me the KITTENS Of course m’lord.DOCUMENT STOREGRAPH 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 DATAGRAPH DATABASEGRAPH DATABASEGRAPH DATABASE WORKSWITH WORKSWITH OWNS CARSHARES IN OWNS GRAPH DATABASE WORKSWITH name: “John” WORKSWITH name: “Michael” twitter:”mrjohn” twitter: “mrmike OWNS CARSHARES IN OWNS brand: “Vauxhall” currentState: “Working” brand: “Toyota” currentState: “Broken”GRAPH DATABASE WORKSWITH name: “John” WORKSWITH name: “Michael” twitter:”mrjohn” twitter: “mrmike OWNS propertyType: “car” CARSHARES IN OWNS propertyType: “car” brand: “Vauxhall” currentState: “Working” brand: “Toyota” currentState: “Broken”GRAPH DATABASESiZE key/value store bigtable clone document database graph database ComplexitySiZE key/value store bigtable clone document database graph database 90 of use cases ComplexityWHEN TO USE NOSQL AND WHEN TO USE SQLTHE 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 performanceSQL THE GOOD 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 toolsSQL ATOMICITY CONSISTENCY ISOLATION DURABILITYSQL THE GOOD 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 toolsSQL THE BAD Complex queries take a long time The relational model takes a long time to learn Not really scalable Not suited for rapid developmentnoSQL THE GOOD Fits well for volatile data High read and write throughput In general it’s faster than SQL Scales really well Rapid development is possiblenoSQL BASICALLY AVAILABLE SOFT STATE EVENTUALLY CONSISTENTnoSQL THE GOOD Fits well for volatile data High read and write throughput In general it’s faster than SQL Scales really well Rapid development is possiblenoSQL THE GOOD 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 anothertl;dr SQL works great, can’t scale for large data noSQL works great, doesn't fit all situations so use both, but think about when you want to use themFINALLY 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
Website URL
Comment