http://disa.fi.muni.cz/vlastislav-dohnal/teaching/nosql-databases-fall-2019/ ● ● ● ○ ○ ○ ● ○ ○ ● ● ● ○ ○ ○ ● ○ ○ ● Volume, Velocity and Variety of data ● It is common to start a Web-based system and have millions of users within a few months ● Everything is in Cloud ○ flexibility and distributed nature of the systems ● ● ● ○ ○ ○ ● ○ ○ “Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization.” (Gartner, 2012) ● ○ ● ○ ● ○ ● ● ○ ● ● ○ ○ ● ○ ○ … ● ○ ○ ● ● ○ ● ● ● ● ● ● ● ○ ○ ○ ● ○ ○ ● ○ ● ○ ■ ○ ■ ○ ■ ○ ● sources: https://github.com/talhafazal/DataBase/wiki/Home-Work-%23-3-Relational-Data-vs-Non-Relational-Database... ● ● ○ ● ○ ● ○ ● ● ● ○ ○● ○ ● ● ● ● ● ● ○ ● ○ ○ ● ○ ○ ● ○ ○ ○ ● ● ● ● ● ○ ○ ■ ○ ● ○ ○ ○ ○ ○ ● ○ ○ ○ ● ○ ● ○ ○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ● ○ ● ● ● ● ○ ○ ○ ● ○ ○ ● ○ ● ● ● ● source: http://www.slideshare.net/emileifrem/nosql-east-a-nosql-overview-and-the-benefits-of-graph-databases source: Dean, J. & Ghemawat, S. (2004). MapReduce: Simplified Data Processing on Large Clusters ● ● ○ ● Amazon Elastic MapReduce ● ○ ● ○ ID primary key ○ DATA BLOB ● ○ put(key, value) ○ value:= get(key) ○ delete(key) source: http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html ● ○ ● ● ○ ○ ○ … ● ○ ● ○ ○ key=3 -> { "personID": 3, "firstname": "Martin", "likes": [ "Biking","Photography" ], "lastcity": "Boston", "visited": [ "NYC", "Paris" ] } key=5 -> { "personID": 5, "firstname": "Pramod", "citiesvisited": [ "Chicago", "London","NYC" ], "addresses": [ { "state": "AK", "city": "DILLINGHAM" }, { "state": "MH", "city": "PUNE" } ], "lastcity": "Chicago“ } source: Sadalage & Fowler: NoSQL Distilled, 2012 ● ● SELECT * FROM users db.users.find() SELECT * FROM users WHERE personID = 3 db.users.find( { "personID": 3 } ) SELECT firstname, lastcity FROM users WHERE personID = 5 db.users.find( { "personID": 5}, {firstname:1, lastcity:1} ) MS Azure DocumentDB ● ● ● ○ source: Sadalage & Fowler: NoSQL Distilled, 2012 ● ● ”com.ccn.www” ● ● “contents:html” “param:lang” “param:enc” “a:cnnsi.com” “a:ihned.cz” ... ... t2 t6 t8 ... EN UTF-8 CNN.com CNN t2 t2 t3 t7 source: Sadalage & Fowler: NoSQL Distilled, 2012 ● ○ ○ ○ ○ … ● ○ ○ ● ○ ● ● ○ ○ ○ ○ ○ ○ source: http://expandedramblings.com/index.php/by-the-numbers-17-amazing-facebook-stats/ https://www.brandwatch.com/blog/47-facebook-statistics-2016/ ○ ■ ○ ■ ○ ○ sources: http://goo.gl/SZ6jia http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/ ○ ○ ○ ○ ○ sources: http://goo.gl/SZ6jia http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/ ○ ○ ○ ○ ○ sources: https://code.facebook.com/posts/509727595776839/scaling-apache-giraph-to-a-trillion-edges/ http://goo.gl/XNtG6p ● I. Holubová, J. Kosek, K. Minařík, D. Novák. Big Data a NoSQL databáze. Praha: Grada Publishing, 2015. 288 p. ● Sadalage, P. J., & Fowler, M. (2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley Professional, 192 p. ● RNDr. Irena Holubova, Ph.D. MMF UK course NDBI040: Big Data Management and NoSQL Databases ● http://www.couchbase.com/ ● http://db-engines.com/en/ranking ● http://nosql-database.org/ ● Chang, F. et al. (2008). Bigtable: A Distributed Storage System for Structured Data. ACM TOCS, 26(2), pp 1–26.