ENGINEERING / DATABASES

Understanding
how data
works.

Every application has a different relationship with data. I enjoy exploring how databases store, organize and retrieve information, and how those decisions affect the systems built around them.

Back to engineering
THINKING ABOUT DATA
01

Structure

How is the data organized?

02

Access

How will the application use it?

03

Consistency

What guarantees are needed?

04

Scale

How will it behave under load?

Choose the data model around the problem, not the other way around.

WHAT I'M EXPLORING

Areas of focus

Different models. Different engineering decisions.

01

Relational Databases

PostgreSQL

Working with structured data, relationships, constraints, and transactions. Designing schemas that preserve data integrity while supporting application requirements.

SQLSchema designJoinsConstraintsACID transactions
02

Document Databases

MongoDB

Modelling flexible, document-oriented data and understanding how access patterns influence document structure, indexing, and application design.

Document modellingAggregationIndexingEmbedding vs referencing
03

Graph Databases

Neo4j

Representing highly connected data through nodes and relationships, making graph traversal and relationship-centric queries more natural.

Graph modellingNodes and relationshipsCypherGraph traversal
04

Key-Value & NoSQL Databases

Amazon DynamoDB

Designing data access around application query patterns, with a focus on predictable performance, partitioning, and horizontal scalability.

Partition keysSort keysSecondary indexesAccess patterns
05

Performance & Data Reliability

Across database systems

Understanding what happens beneath database queries and making informed decisions around performance, consistency, concurrency, and reliability.

Query optimizationIndex strategiesConnection poolingConsistency

MY PERSPECTIVE

Data decisions shape the entire system.

The best database is not necessarily the most powerful one. It is the one that fits the problem.

I believe database decisions should start with understanding the shape of the data, how the application accesses it, and the consistency and scalability requirements. Choosing a technology comes after understanding those trade-offs.

A SIMPLE WAY TO THINK ABOUT IT

Understand dataUnderstand accessChoose wisely