CS409BKK

Faculty
Nikolay Golov
CPO of Tengri Data Platform
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
All contemporary software platforms, whether developed by large corporations (Facebook, Google, OpenAI, etc.) or small businesses, rely on the use of databases or data storage. The foundation of this course is the notion that data storage is an answer or a solution to a problem rather than a technology in and of itself.
During this course, we will study what problems modern software can solve with data storage. We will study the whole spectrum of existing data storages, such as classical RDBMS, key-value storages, NOSQL, document storages, column storages, OLAP, vector databases, embedded and serverless databases, and their weak and strong points.
Students will learn to understand how to identify requirements for the data storages in a given software system and how to wisely choose a particular data storage (or multiple storages), taking into consideration both business requirements and the chosen software architecture (monolithic, microservice, etc.). We will study all concepts and mental models needed to understand data storage, wisely choose them, and embed them into software - manually, as a manager, or using an LLM, such as ChatGPT.
15 classes
Introduction. Data Storage in General. CRUD. Relational model. SQLite.
Data Modeling. ER Modelling. SQL Queries. ACID: Atomicity, Durability, Isolation, and Consistency.
Designing Tables. Normalisation. 1NF, 2NF, 3NF, … 6NF
Classical RBMS - PostgreSQL, Oracle, Microsoft SQL, MySQL. Transaction. Levels of Transaction Isolation.
Advanced Transaction Isolation Levels. Database Indexes.
Analytical SQL - GROUP BY, Window Functions. Views. Reporting, BI tools.
Document Storage. MongoDB, JSON Store. Data Lake.
Key-value Storage. Sharding. Redis. Caching.
Data Bus. Kafka. Event Driven software Architecture.
OLAP Databases. Databases for Analytics. Columnar Storage. Snowflake, BigQuery. DuckDB.
Combining Databases. Polyglot Persistence.
CAP Theorem. Distributed Systems from a Data Storage Point-of-view.
Data Warehouse. Data Modelling for Analytics. Data Vault, Inmon, Kimball, Anchor Modeling.
Databases of the future. Serverless concept. Headless concept.
Final Quiz
Media
Python coding experience.
Basic understanding of algorithms or set theory.
(optional) SQL
Classes will consist of lectures and discussions on given topics. Each day, during a class, there will be a practical task with some type of database being discussed, of at least 5 different types (RDBS, embedded, serverless, key-value, document-storage, and OLAP). During the course, students shall work in groups and do four projects, each studying some aspect of data storage.
Nikolay got his M.S. degree in applied mathematics and cybernetics from Moscow State University, Russia. Afterwards, he had 15 years of experience building data platforms for various startups and enterprises. From 2013 until 2019, he headed the Data Platform of Avito, Craigslist of Russia, which grew to a multi-billion-dollar company from a small startup. In Avito, he was responsible for analytical databases (Vertica, ClickHouse), OLTP engines (PostgreSQL, Redis, MongoDB), and data buses (Kafka) for analytics and microservices. Later he was Head of Data Platform at ManyChat (a California and Barcelona-based SaaS startup), responsible for the implementation and growth of its Data Platform (AWS+Redis+Snowflake+Tableau), which is being used for analytics and AI. Currently Nikolay is a CPO of a startup, creating a new analytical database, Tengri Data Platform.
See full profileApply for this course
by Nikolay Golov
Total hours
45 Hours
Dates
Feb 24 - Mar 14, 2025
Fee for single course
€2999
Fee for degree students
€1999
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.