DS410
Data Storages

Faculty
Mikhail Nikiforov
Freelance Software Expert, Ex Oracle
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
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.
Learning highlights
- Understand core database principles, including the internal architecture of database engines, transaction management, indexing, and query optimisation strategies across different systems.
- Apply SQL effectively, with a practical understanding of how queries are executed and optimised in relational and non-relational environments.
- Differentiate among and evaluate the major categories of modern databases, including relational, document, columnar, in-memory, and other NoSQL systems, and understand their strengths, limitations, and appropriate use cases.
- Analyse architectural tradeoffs, recognising the performance, scalability, consistency, and complexity limitations inherent in each database paradigm.
- Design polyglot persistence architectures, combining multiple database technologies within a single application according to functional and performance requirements.
- Implement and tune data systems, including schema design, data ingestion, performance optimisation, and workload adaptation.
- Build and operate a basic big data analytical infrastructure, gaining hands-on experience with scalable, production-oriented open-source technologies.
Course outline
15 classes
Session 1
Introduction. Data Storage in General. CRUD. Relational model. SQLite.
Session 2
Data Modeling. ER Modelling. ACID: Atomicity, Durability, Isolation, and Consistency.
Session 3
Designing Tables. Normalisation. 1NF, 2NF, 3NF, … 6NF. ORM tools to automate DB interaction.
Session 4
Classical RBMS - PostgreSQL, Oracle, Microsoft SQL, MySQL. Transaction. Levels of Transaction Isolation.
Session 5
Isolation anomalies. Database Indexes.
Session 6
Transactions. MVCC. Analytical SQL - GROUP BY, Window Functions.
SQL Quiz.
Session 7
Document Storage. MongoDB, Data Lake. Vector database.
Session 8
Key-value Storage. Sharding. Redis. Caching.
Session 9
Data Bus. Kafka. Event Driven software Architecture.
Session 10
OLAP Databases. Databases for Analytics. Columnar Storage. Data Lakehouse: Iceberg Snowflake, BigQuery.
Session 11
Combining Databases. Polyglot Persistence.
Session 12
CAP Theorem. Distributed Systems from a Data Storage Point-of-view.
Session 13
Data Processing architecture. Data Modelling for Analytics. Data Vault, Inmon, Kimball, Anchor Modeling.
Session 14
Databases of the future. Serverless concept. Headless concept. DuckDB.
Session 15
Final Quiz
Prerequisites
Python coding experience.
Basic understanding of algorithms or set theory.
SQL (optional)
Methodology
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.
Grading
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
Data Storages
by Mikhail Nikiforov
Total hours
45 Hours
Dates
Apr 27 - May 15, 2026
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.




