Database Management Systems
- Massive - terabytes
- Persistent
- Safety
- Multi-user: Concurrency Control
- Convenience: Physical Data Independence, High-Level query language
- Efficiency
- Reliability
- Database applications may be programmed via “frameworks”(Django, Ruby on rails, …)
- DBMS run in conjunction with “middleware”(web server…)
- Data intensive applications may not use DBMS at all(data stored in files: Hadoop)
Key Concept
- Data Model: Relational, XML, Graph…
- Schema v.s. Data: Types and Variables
- Query Language
Key People
- DBMS implementer: Build systems
- Database designer: Establish schema
- Database application developer: Programs that operate on database
- Database administrator: Keep running smoothly