DS410

Faculty
Mikhail Nikiforov
Senior Software Engineer at Oracle NetSuite, Barcelona
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Modern software platforms — from industry leaders such as Google, Meta, and OpenAI to early-stage startups — depend fundamentally on data storage. This course is grounded in a core principle: data storage is not merely a technology, but a solution to a specific engineering problem. Understanding which problem is being solved is what drives every sound architectural decision.
Students will gain comprehensive exposure to the full spectrum of contemporary data storage paradigms, including relational databases (RDBMS), key-value stores, NoSQL, document stores, column-oriented databases, OLAP systems, vector databases, and embedded and serverless solutions. For each category, the course examines practical trade-offs, strengths, and limitations in real-world software contexts.
A central focus of the course is developing the judgement to evaluate data storage requirements within a given software system and to select the most appropriate solution — or combination of solutions — aligned with both business objectives and architectural constraints, such as monolithic or microservice designs.
Beyond technical knowledge, students will build the conceptual models necessary to reason about data storage independently: as hands-on engineers, as technical managers, or as practitioners working alongside AI coding assistants such as ChatGPT. The course also addresses the rapidly growing domain of AI-native systems, covering how to select and configure data storage for AI Agents — providing them with persistence, contextual memory, and the capacity to evolve.
15 classes
Introduction. Data Storage in General. CRUD. Relational model. SQLite.
Data Modeling. ER Modelling. ACID: Atomicity, Durability, Isolation, and Consistency.
Designing Tables. Normalisation. 1NF, 2NF, 3NF, … 6NF. ORM tools to automate DB interaction.
Classical RBMS - PostgreSQL, Oracle, Microsoft SQL, MySQL. Transaction. Levels of Transaction Isolation.
Isolation anomalies. Database Indexes.
Transactions. MVCC. Analytical SQL - GROUP BY, Window Functions.
SQL Quiz.
Document Storage. MongoDB, Data Lake. Vector database.
Key-value Storage. Sharding. Redis. Caching.
Data Bus. Kafka. Event Driven software Architecture.
OLAP Databases. Databases for Analytics. Columnar Storage. Data Lakehouse: Iceberg Snowflake, BigQuery.
Combining Databases. Polyglot Persistence.
CAP Theorem. Distributed Systems from a Data Storage Point-of-view.
Data Processing architecture. Data Modelling for Analytics. Data Vault, Inmon, Kimball, Anchor Modeling.
Databases of the future. Serverless concept. Headless concept. DuckDB.
Final Quiz
Python coding experience.
Basic understanding of algorithms or set theory.
SQL (optional)
Classes will consist of lectures and discussions on the assigned topics. During each class, students will complete a practical task involving one of at least five database types, including relational (RDBMS), embedded, serverless, key–value, document-oriented, and OLAP systems. Throughout the course, students will work in groups on four projects, each focused on exploring a specific aspect of data storage.
Mikhail is an expert software and data engineer with more than 25 years of experience. He has been working as a senior software engineer and a team lead at Oracle NetSuite. Currently working as a freelancer in startups and non-government organisations.
He has extensive experience managing medical databases around the world, from Siberia to Guatemala and from Sweden to Spain.
See full profileApply for this course
by Mikhail Nikiforov
Total hours
45 Hours
Dates
Apr 27 - May 15, 2026
Fee for single course
€2999
Fee for degree students
€1999
Filter by campus:
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.