Guide · Databases
Databases: the complete guide
I have been designing and teaching databases for years, at university and in projects with companies and public bodies. This guide collects every article on the blog: from data model design to SQL, MongoDB, Elasticsearch, graph and vector databases.
Where to start
Three reads to choose and design well
Database Design: Why 73% of IT Projects Fail Before They Even Begin
Why so many projects fail at the design stage, and how to avoid it by starting from the data model.
SELECT: simple query structure
The first step of the SQL course: how a query is built. From here you can follow the whole series in order.
What is a vector database?
What a vector database is and why it has become the core of artificial intelligence applications.
Designing and choosing a database
Relational, document, graph or no-code: the choice depends on how data is read and written. Here are the criteria and tools to start right.
SQL from the basics to advanced queries
A complete course in articles, to follow in order: database creation, transactions, SELECT, JOIN, subqueries, CTEs and triggers.
- SQL: creating a database
- SQL: transactions and data manipulation
- SELECT: simple query structure
- SELECT: query with JOIN and GROUP BY
- SELECT: IN operator
- SELECT: NOT IN operator and tuple constructor
- SELECT: set operators
- SQL: derived tables
- SQL: Common Table Expression
- SQL: correlation
- SQL: Recursive CTE
- SQL: triggers in Oracle
MongoDB
The document database I use most in projects: cloud environment, Compass, aggregation pipeline, replica sets and design patterns for AI applications.
- MongoDB Atlas – creating a cloud environment for practice
- MongoDB Compass – easily query and analyze a NoSQL database
- MongoDB Compass – extract statistics using aggregation pipeline
- Theory of MongoDB replica set
- MongoDB and Docker – How to create and configure a replica set
- MongoDB 5: the new features
- MongoDB 6.0: new features to improve applications
- MongoDB Design Patterns: Foundations for AI Applications 2026 (Part 1 of 2)
- MongoDB Design Patterns: Advanced Strategies for AI Applications 2026 (Part 2 of 2)
Elasticsearch and the ELK Stack
Full-text search, queries, aggregations and Kibana dashboards: a complete series to understand when and how to use the ELK stack.
- ELK Stack: what it is and what it is used for
- What is Kibana used for?
- Kibana: let’s explore data
- Kibana: build your own dashboard
- ElasticSearch 8: new features of the new version
- Elasticsearch: use of match queries
- Elasticsearch: use of term queries
- Elasticsearch: compound query
- Elasticsearch: join and bonus queries
- Elasticsearch: the aggregation types
- Elasticsearch: metric aggregations
- Elasticsearch: bucket aggregations [part 1]
- Elasticsearch: bucket aggregations [part 2]
- Elasticsearch: aggregation pipeline
- ElasticSearch: how and when to use it
Graph and vector databases
When relationships are the data you need a graph; when you need to search by meaning, a vector database. Two key technologies for AI.
- Neo4j: guide to use a graph database
- Neo4j: When Relationships Are the Data, Not the Detail
- What is a vector database?
- Vector Database 2026: Pinecone vs Weaviate vs Qdrant – Complete Guide to Selection and Deployment
- Vector Database Production Deployment 2026: Best Practices, Monitoring, and Cost Optimization
Real-time and spatial data
Streaming with Kafka, real-time databases and geographic data: the scenarios where a traditional database is not enough.
- Apache Kafka Part 1: What Stream Processing Is and Why It Changes Everything
- Apache Kafka Part 2: Event-Driven, Kafka Streams and Connect
- Firebase: how to integrate a real-time database in Python
- PostGIS: introduction to the spatial database
- HBIM: 3D reconstructions of ancient buildings
You will find every article, including the latest, in the DBMS category of the blog. To go deeper with a course, see the MongoDB and Elasticsearch training.
When you need help
Is your database slowing you down?
I analyse how data is read and written, redesign the model and guide migration and optimisation on MongoDB, PostgreSQL, Neo4j and Elasticsearch, with documentation and handover to your team.
Frequently asked questions
Relational or NoSQL: which is better?
It depends on how your application reads and writes data. Relational remains the right choice for highly structured data and complex transactions; MongoDB suits data with a variable structure and document-based reads. The design article covers the criteria.
Where do I start learning SQL?
Follow the SQL series in order, from creating the database to recursive CTEs. Every article has examples to try.
When do I need a vector database?
When you need to search by meaning rather than exact words, for example in a RAG chatbot over company documents. The vector database articles compare Pinecone, Weaviate and Qdrant.
Do you also offer database training?
Yes: courses on SQL, MongoDB and Elasticsearch for company teams, on site or online. Details are on the Training page.
Need to design or migrate a database?
Start with an audit: in a few days you know what to fix, in what order and at what cost.