npmg databases presentation
TRANSCRIPT
![Page 1: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/1.jpg)
Databases
![Page 2: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/2.jpg)
Ognyan Angelov
❖ TUES
❖ FMI
❖ Obecto
❖ Snowboard & Tennis
❖ Tea & Sleeping
![Page 3: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/3.jpg)
Databases
❖ Define: “A database is an organised collection of data”
— Wikipedia
❖ In IT we mean DBMS - Database management system
(MySQL, Oracle DB, MongoDB)
![Page 4: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/4.jpg)
History of Databases
![Page 5: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/5.jpg)
How do we use a DB
❖ Command line interface
❖ Some GUI
❖ Adaptor to another technology (Java, Python, etc)
![Page 6: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/6.jpg)
SQL
❖ Structured Query Language
![Page 7: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/7.jpg)
Where is the data stored?
❖ Drive
❖ Cloud
❖ Warehouses
❖ In memory
![Page 8: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/8.jpg)
Types of DBs
❖ Relational (Last 40+ years)
❖ NoSQL (Last ~15 years)
![Page 9: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/9.jpg)
Relational
❖ Schema
❖ Relations
❖ Index
❖ Joins
❖ Transactions
![Page 10: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/10.jpg)
ACID
❖ Atomicity
❖ Consistency
❖ Isolation
❖ Durability
![Page 11: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/11.jpg)
ACID
❖ Atomicity
❖ Consistency
❖ Isolation
❖ Durability
![Page 12: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/12.jpg)
NoSQL
![Page 13: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/13.jpg)
NoSQL
![Page 14: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/14.jpg)
NoSQL
❖ Documents / Key-Value Pairs / Graphs
❖ Big Data
❖ Horizontally Scalable
![Page 15: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/15.jpg)
Example MongoDB
❖ Documents and Collections
❖ Queries
❖ Map Reduce
![Page 16: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/16.jpg)
Common Stacks
❖ PHP+ [ORM] + MySQL
❖ Java + Hibernate + MySQL / Oracle / MongoDB
❖ Python / Ruby + ORM + PostgreSQL
❖ NodeJS + MongoDB
![Page 17: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/17.jpg)
ORM / ODM
❖ Object Relational Mapper
❖ Object Document Mapper
![Page 18: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/18.jpg)
Patterns
❖ Active Record
❖ Data Mapper
![Page 19: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/19.jpg)
Interesting Stuff
❖ Column-oriented DBMS
❖ Multiple DB
❖ Spring Data
❖ DDD - Domain Driven Design
❖ CQRS - Command Query Responsibility Segmentation
![Page 20: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/20.jpg)
What next?
❖ Books: Martin Fowler - Patterns of Enterprise Application
Architecture
❖ Courses: Coursera/EDX
❖ YouTube Videos (e.g. youtu.be/WovfjprPD_I)
❖ Wiki
![Page 21: NPMG Databases Presentation](https://reader033.vdocuments.us/reader033/viewer/2022042818/55ac5b7e1a28abd84c8b47a3/html5/thumbnails/21.jpg)
Thanks :)