Skip to content
tezvyn:

Databases & Architecture

SQL, NoSQL, system design, microservices, APIs

155 bites

Test yourself: Top 30 Databases & Architecture concepts questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Concepts in Databases & Architecture, page 6

intermediate2 min read

The Object-Relational Impedance Mismatch

The Object-Relational Impedance Mismatch is the friction between how SQL databases see data (tables, rows) and how OO code sees it (objects, inheritance). It's the core problem ORMs solve. The footgun is thinking an ORM makes the database disappear.

SQL Query Builders: Write SQL Without Writing SQL
intermediate2 min read

SQL Query Builders: Write SQL Without Writing SQL

An SQL query builder is a translator for your database, converting visual clicks or chained code methods into raw SQL. It's used to write safer, database-agnostic code or to let non-technical users build queries. The footgun is generating inefficient queries.

intermediate2 min read

Database Cursors: Row-by-Row Result Processing

A database cursor is an iterator for a query's results, letting you process a large dataset one row at a time. It's for batch jobs on huge record sets that would otherwise crash your app.

intermediate2 min read

ORM Lazy Loading: Defer Queries Until Needed

An ORM's lazy loading fetches related data only when you access it, not with the initial query. This speeds up the first query if you don't need related objects. The footgun is the N+1 problem, where a loop triggers many hidden, slow database queries.

advanced2 min read

Active Record: Your Object is the Database Row

The Active Record pattern treats an object as a self-managing database row, bundling data with persistence logic. It's great for simple CRUD apps, but tightly couples your business logic to your database schema, making complex refactors difficult.

advanced2 min read

Data Mapper Pattern: Decoupling Your Domain from Your DB

A Data Mapper is a dedicated layer that moves data between in-memory objects and a database. This decouples your business logic from persistence, keeping domain objects clean and unaware of the database schema. It's the opposite of the Active Record pattern.

Database Proxies: A Manager for Your Database Traffic
advanced2 min read

Database Proxies: A Manager for Your Database Traffic

A database proxy is a manager between your app and database, handling requests to improve performance and security. It pools connections, caches queries, and balances load, preventing any single server from being overwhelmed.

easy2 min read

Database as a Service (DBaaS): Rent, Don't Build

DBaaS is like leasing a database instead of owning it. A cloud provider handles the backups, patching, and scaling, so you can focus on your app. The main footgun is assuming "managed" means you can ignore configuration, query performance, and costs.

easy2 min read

Amazon RDS: Managed Relational Databases in the Cloud

Amazon RDS is like hiring a DBA to manage your database's plumbing. It's for when you need a SQL database like PostgreSQL or MySQL without the hassle of patching and backups. The footgun is assuming it's 'serverless'—you still manage cost and performance.

Compute & Storage Separation: Scale One Without the Other
intermediate2 min read

Compute & Storage Separation: Scale One Without the Other

This architecture treats your data warehouse (cheap storage) and query engine (expensive compute) as separate services. You can scale compute for peak demand without overprovisioning storage.

intermediate1 min read

Amazon Aurora: AWS's Proprietary Relational Database

Amazon Aurora is a proprietary relational database from AWS, offered as part of the Amazon Relational Database Service (RDS). It provides a managed database solution within the AWS cloud ecosystem, available since October 2014.

Amazon DynamoDB: Scalable NoSQL as a Service
intermediate2 min read

Amazon DynamoDB: Scalable NoSQL as a Service

Think of DynamoDB as a database where you trade complex queries for near-infinite, hands-off scaling. It's a managed NoSQL service from AWS for key-value and document data, built for high-performance applications.

AWS DMS: Your Managed Database Migration Engine
intermediate2 min read

AWS DMS: Your Managed Database Migration Engine

AWS DMS is a managed service for migrating databases. It acts like a replication server you point at a source and target, handling the data transfer. It's used for one-time migrations to AWS or for continuous replication.

advanced2 min read

NewSQL: SQL Scalability Without Sacrificing ACID

NewSQL databases aim for NoSQL's horizontal scaling with the ACID guarantees of a traditional relational database. They suit high-throughput OLTP systems, like e-commerce, that must scale out. The footgun is assuming they are a simple drop-in replacement.

advanced2 min read

Google Cloud Spanner: A Globally Distributed SQL Database

Spanner is a globally distributed SQL database that scales like NoSQL but keeps the strong consistency of a relational database. Use it for global applications like financial ledgers that need ACID transactions across continents.

CockroachDB: A SQL Database That Survives Disasters
advanced2 min read

CockroachDB: A SQL Database That Survives Disasters

CockroachDB is a distributed SQL database designed to be unkillable. Use it for global apps needing strong consistency and high availability, like financial ledgers or identity systems. The footgun: ignoring network latency between nodes can kill performance.

Data Pipelines: From Raw Data to Actionable Insights
easy2 min read

Data Pipelines: From Raw Data to Actionable Insights

A data pipeline is the plumbing for your data, moving it from raw sources to a refined state for analysis. It feeds dashboards and ML models by cleaning data from APIs and databases. The key footgun is choosing batch processing for real-time needs.

easy2 min read

Message Queues: Decoupling Your Services

Think of a message queue as a digital post office for your services. It lets one part of your system drop off a task for another to handle later, decoupling them so they don't have to run in lock-step.

intermediate2 min read

Schema Evolution: Changing a Live Database Without Outages

Schema evolution is like renovating a house while you live in it: you must change your database's structure without breaking the live application. This is critical when adding or renaming columns.

Lambda Architecture: Batch + Stream for Big Data
intermediate1 min read

Lambda Architecture: Batch + Stream for Big Data

Lambda Architecture handles massive datasets by combining slow, accurate batch processing with fast, real-time stream processing. It's used for analytics needing both historical and live views.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles