tezvyn:

Databases & Architecture

SQL, NoSQL, system design, microservices, APIs

289 bites

More in Databases & Architecture — page 10

Databases & Architecture2 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.

AWS DMS: Your Managed Database Migration Engine
Databases & Architecture2 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.

Amazon DynamoDB: Scalable NoSQL as a Service
Databases & Architecture2 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.

Databases & Architecture80 sec 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.

Compute & Storage Separation: Scale One Without the Other
Databases & Architecture2 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.

Databases & Architecture2 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.

Databases & Architecture2 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.

Database Proxies: A Manager for Your Database Traffic
Databases & Architecture2 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.

Databases & Architecture2 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.

Databases & Architecture2 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.

Databases & Architecture2 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.

Databases & Architecture2 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.

SQL Query Builders: Write SQL Without Writing SQL
Databases & Architecture2 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.

Databases & Architecture2 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.

Databases & Architecture2 min read

Connection String: Your App's Key and Address to Data

A connection string is your app's address and key to a data source. It bundles the host, port, database name, and credentials into a single string for a driver to use. The main footgun is committing credentials to version control by hardcoding the string in.

ODBC: The Universal Translator for Databases
Databases & Architecture2 min read

ODBC: The Universal Translator for Databases

ODBC acts as a universal translator, letting one application speak to many different relational databases. Your app uses the standard ODBC interface, and a specific "driver" handles the unique protocol for each database. The footgun is performance overhead.

Databases & Architecture2 min read

JDBC: Java's Universal Translator for Databases

JDBC is Java's universal adapter for databases, letting your app speak SQL to any database via a standard API. It's used for connecting, querying, and managing transactions. The biggest footgun is building SQL strings directly; always use PreparedStatements.

Database Parameter Tuning: Beyond the Defaults
Databases & Architecture2 min read

Database Parameter Tuning: Beyond the Defaults

Database defaults are a compromise. Parameter tuning tailors the database to your specific workload, hardware, and reliability needs. It's used to optimize memory, WAL settings, or query planning.

Databases & Architecture2 min read

Database Disaster Recovery: Planning for Total Failure

Database Disaster Recovery (DR) assumes your primary site is gone for good, focusing on restoring service at a secondary location. It's for critical systems where regional outages are unacceptable. The footgun is confusing DR with High Availability (HA).

Databases & Architecture2 min read

Database High Availability: Surviving Server Failure

High Availability (HA) means having a hot standby database ready to take over instantly upon failure. It's essential for critical systems like payment gateways where downtime is unacceptable.