• Introduction to databases and big data
• Relational databases. Tables, relationships and attributes. Incomplete information and null values. Integrity constraints.
• Relational algebra.
• Structured Query Language (SQL). Selection, insertion, update and deletion queries. Join. Nested queries. Aggregate operators. Indexes.
• ACID Transactions: atomicity, consistency, isolation and durability
• Non-relational databases (NoSQL). Non-relational models: key-value, Wide Column, document-based, graph-oriented, object-oriented.
• CAP (or Brewer's) theorem. Consistency, Availability, Partition Tolerance.
• MongoDB. Collections and documents. Query Language. Aggregation framework. Indexing, replication, sharding.