why nosql?
TRANSCRIPT
![Page 1: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/1.jpg)
DHARSHAN RANGEGOWDAFOUNDER, SCALEGRID.IO
APRIL 2014
Why NoSQL?
![Page 2: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/2.jpg)
What is NoSQL?
“Not only SQL”“Not SQL”Term popularized by Eric
Evans of Rackspace in 2009
Class of databases that don’t use a “Relational schema”
NoSQL <> No T-SQL
![Page 3: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/3.jpg)
NoSQL history
Need arose in Early 2000 due to difficulties scaling MySQL databases Need to deal with large amounts of data E.g. MongoDB founders are from Doubleclick
![Page 4: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/4.jpg)
Classification
• Classified along multiple dimensions
• Data model
• Consistency
• Performance
![Page 5: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/5.jpg)
Complete classification
![Page 6: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/6.jpg)
Data model
Flexible data model structured, unstructured & semi structured data
Different types of data JSON/XML Documents
Files Store files & structured data No separate workflow for files
![Page 7: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/7.jpg)
Schema less
Each row in a table can be different!
Double edged sword There is always a schema, in the db or in the code
![Page 8: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/8.jpg)
Developer agility
Focus on developer agility
Extremely easy to get started
Got rid of impedance mismatch between app code and SQL
Always work with objects• Big hit with developers
![Page 9: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/9.jpg)
Developer agility
Great Geo query support Extremely important for most web apps today
Great integration with new frameworks Node.js, Meteor.js
![Page 10: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/10.jpg)
Database Scaling
• Easy (relatively) scale for your database– Scale up or scale out– Scale out using commodity servers– Automatic partitioning & rebalancing
![Page 11: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/11.jpg)
Scale out : MongoDB shards
![Page 12: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/12.jpg)
Cons?
Not ACID compliant (mostly) Transaction scope is usually limited Consistency can also vary If you are writing a banking application stick to
RDBMS Engineering
Relatively immature Don’t have 3 decades of engineering in them
![Page 13: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/13.jpg)
Adoption
• Web properties– Scale features– Document support– Geo support
• Data warehouse–Handle TB’s of data– Cost
![Page 14: Why nosql?](https://reader035.vdocuments.us/reader035/viewer/2022062822/587ff8cd1a28ab3a1e8b58d9/html5/thumbnails/14.jpg)
Future?