relational thoughts on NoSql change image relational thoughts on NoSql Eric Peterson
why you're here curious about NoSql hype justified? pros/cons of SQL vs NoSql document db don’t know what to ask
what is nosql an unstructured data repository where you can store any json you want and retrieve it by id created by developers who didn't want the database to get in the way of storing data
SQL VS NOSQL what sql vs nosql why dis/advantages types document db sql vs nosql dis/advantages decision factors demo
what is nosql? no relational structure enforced no sql language * “database” (junkyard) still evolving analogy: junkyard - store whole cars or store parts by type
why nosql? scale number of users amount of data commodity hardware no animation
Types table storage (key/value) (redis) column store (hbase / hdinsight) graph databases (grid db) document db (mongo / Document DB)
document db Mongo DB only 1 rule; must have _id database collections ..“tables”? documents ..“rows”? find = select
document db lightweight - web / mobile highly scalable data stored in json format JavaScript Object Notation
json definition commas and semicolons delimited strings {} denotes an object set of key/value pairs can be accessed with dot notation [] denotes an array useful for iterating
json example 1 example: simple object {"document":"file2.csv"}
json example 2 example: array of objects [{"document":"file2.csv"} ,{"document":"file2.html"}]
json example 3 example: compound document { "document": "file2.csv", "bytes": 2479, "characters:"2479", "tags": ["original", "audited"] }
sql vs nosql SQL NoSql business logic in engine none language TSQL Javascript data structure defined up-front not defined / fluid data types many few joins in code or none scalability vertical horizontal animate to bring in one row at a time MapReduce Aggregation Pipeline
sql advantages inherent transaction support corporate support (MS) one-stop shop (MS) excellent documentation and examples
sql advantages programming talent (yeah!) business logic in db data consistency
sql disadvantages Windows-only * optimized for MS products painful structure changes
nosql advantages elastic scaling (sharding) big data no licensing fees no DBAs (huh?)
nosql advantages flexible data models faster iteration data stored in front-end format DML familiar to developers
nosql disadvantages more engineering effort what works with what? options overwhelming immature product support & documentation no data validation
sql vs nosql no animation
sql vs nosql no animation
MS Document DB SQL MS Doc. DB NoSql business logic in engine none language TSQL TSQL/javascript Javascript data structure defined up-front not defined / fluid data types many few joins in code or none scalability vertical horizontal animate to bring in one row at a time MapReduce Aggregation Pipeline
decision factors corporate strategy familiarity transactions scalability support
demo create customer collection & document find all records find one record find complex record Joins (manual, BBRef, $ref, $id, $db) Quick ref?
more info http://bit.ly/psrelvsnon http://bit.ly/relvsnon http://bit.ly/sqlornosql http://bit.ly/mongoguis http://stackoverflow.com/questions/20056903/mongodb-search-on-multiple-collections https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjMubbk4sfSAhWC3YMKHdRYChQQFggcMAA&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F6%2F2%2F9%2F629DE0C3-73C4-49CD-8BF2-CCF189D0EA6B%2FAzure%2520NoSQL%2520Technologies-Chappell-v2.pdf&usg=AFQjCNGFuQ2flV8GSeFzhydaRiw7UnuE3Q https://docs.mongodb.com/ecosystem/tools/administration-interfaces/
thanks! contact info Eric Peterson eric@rdc-corp.com