CS211
Basics of Databases

Faculty
Igor Sakhankov
Staff Software Engineer at Glovo
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
Data is at the center of many challenges in system design today. The course goal is to teach the basics of databases.
The course compares different data storages (both relational and NoSQL ones). It extensively covers relational algebra and SQL. It includes theory and practice about database design, query optimization and using databases with real applications.
Learning highlights
- Understand the pros and cons of different databases
- Learn how to use RDBMS in applications
- Learn how to design and evolve database schemas, optimize queries
- Learn how to set up a database for high availability
- Understand the motivation behind NoSQL and experiment with some solutions
- Learn about big data and tools that support data analytics
Course outline
15 classes
Introduction
- Course overview
- Data-intensive application
- Data models and databases
- Setting up MySQL
- Basics of relational algebra
Database design
- Basics of SQL
- Data definition language
- Designing databases
- Schemas and schemas evolution
Data manipulation
- Selecting, filtering, transforming data
- Aggregations
- Working with multiple tables
Using databases in the application
- Building a simple web app with database
- ORMs
- Real-life examples
Complex queries
- Nested queries
- Advanced joins
- Variables
Transactions and locking
- ACID
- Isolation levels
- Deadlocks
Indexes
- Benefits of indexes
- B-trees, hash, spatial indexes
Optimizations and profiling
- Query plan
- Hints
- Caching
- Application optimization
Triggers and stored procedures
- Pros and cons of triggers
- Pros and cons of stored procedures
- Case studies
Security and maintenance
- Backups
- Access rights
- SQL-injections
High availability and replication
- High availability
- Replicas
- Approaches to replication
In-memory databases and caches
- Caches
- In-memory databases
- Redis, Memcache
NoSQL, CAP theorem
- CAP theorem
- Overview of modern databases
- MongoDB, Cassandra
Data warehouses and lakes
- Big Data
- Hadoop, Redshift
Final exam
Final exam
Prerequisites
Linux/Docker
Some programming language
Data structures and algorithms
Methodology
During the course, students will be encouraged to practice all covered concepts. The lectures are going to start with a short quiz to recap material. At the end of the course will be an exam with questions and tasks related to all topics covered in the class. Homework consists of assignments (practical tasks on working with databases) and a project (creating and setting up a database for a sample application).
Grading
Igor is a software engineer with experience in distributed systems, microservices, data pipelines and setting up team processes. He worked for the companies like Uber and Booking.com, right now works for Glovo.
Igor graduated from Innopolis University with a Master's degree in Software Engineering backed by MSIT SE CMU original program.
See full profileApply for this course
Basics of Databases
by Igor Sakhankov
Total hours
45 Hours
Dates
May 24 - Jun 11, 2021
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.
