/ tool-comparisons / MySQL vs DynamoDB for Solo Developers
tool-comparisons 9 min read

MySQL vs DynamoDB for Solo Developers

Comparing MySQL and DynamoDB for solo developers. Features, pricing, and which to pick.

Hero image for MySQL vs DynamoDB for Solo Developers

Quick Comparison

Feature MySQL DynamoDB
Type Open-source relational database (GPLv2 Community Edition) AWS fully managed NoSQL key-value and document store
Latest version 9.7 LTS (released 2026-04-21), with 8.4.9 LTS and 8.0.46 also current Managed service, no version to track or patch
Pricing Free, GPLv2 Community Edition (you pay only for the server it runs on) No free server, but a perpetual free tier of 25 GB storage plus 25 read and 25 write capacity units per month, then pay-per-request
On-demand rates (US East) n/a, cost is your host 0.625 USD per million writes, 0.125 USD per million reads, 0.25 USD per GB-month storage
Learning Curve Easy, SQL skills transfer directly Steep, access-pattern-first data modeling
Best For Traditional web apps, PHP/WordPress projects, anything with relational data AWS-native apps needing key-value storage with single-digit millisecond latency at scale
Solo Dev Rating 7/10 5/10

By the Numbers (2026)

The marketing pages talk in adjectives. Here are the figures that actually shape a solo developer's decision, all pulled and checked on 2026-05-29.

MySQL

  • Current release is MySQL 9.7, the latest long-term-support line, which went GA on 2026-04-21. The previous LTS lines 8.4.9 and 8.0.46 also shipped patches on 2026-04-07, so you have three supported branches to pick from.
  • One date worth knowing: MySQL 8.0 reached the end of its extended support on 2026-04-30. If you are starting fresh, start on an 8.4 or 9.7 LTS branch, not 8.0.
  • The official mysql/mysql-server repository on GitHub sits at roughly 12,267 stars and 4,276 forks. That is a lower star count than many trendy databases, which is mostly an artifact of MySQL predating GitHub by a decade and living primarily on Oracle's own infrastructure, not a signal of low adoption.
  • License is GPLv2 for the Community Edition, which is why "free" here means genuinely free to run, modify, and self-host.

DynamoDB

  • There is no version number to track. AWS patches and scales the engine for you, which is the entire pitch.
  • On-demand pricing in US East (N. Virginia) is 0.625 USD per million write request units, 0.125 USD per million read request units, and 0.25 USD per GB-month of storage on the Standard table class.
  • The always-free tier is 25 GB of storage plus 25 read capacity units and 25 write capacity units per region per month. AWS estimates that capacity covers roughly 200 million requests per month depending on item size.
  • Sizing detail that drives the math: one write request unit covers an item up to 1 KB, and one strongly consistent read request unit covers an item up to 4 KB. Larger items consume proportionally more units.

MySQL Overview

MySQL is the relational database that powers most of the web. It stores data in tables with rows and columns, supports SQL for querying, and has been doing this reliably for over 25 years. Every web framework supports it, every hosting provider offers it, and finding MySQL help online takes about five seconds.

For solo developers, MySQL makes sense because it is predictable. You define your schema, write SQL queries, and the data behaves the way you expect. Relationships between tables work naturally with JOINs. Reporting is straightforward. If your data has clear relationships, MySQL handles it cleanly.

The main limitation is scaling. MySQL scales vertically (bigger server) and horizontally through read replicas, but sharding is complex and manual. For most solo developer projects, you will never hit that limit.

DynamoDB Overview

DynamoDB is Amazon's fully managed NoSQL database. It stores data as key-value pairs or documents and delivers single-digit millisecond performance at any scale. Amazon built it to handle the scale of their shopping cart system, and it powers some of the highest-traffic applications on the internet.

The managed aspect is attractive. No servers to provision, no backups to configure, no patches to apply. AWS handles everything. The free tier gives you 25 GB of storage and enough read/write capacity for a small application. Pay-per-request pricing means you pay only for what you use.

But DynamoDB has a steep learning curve. Data modeling is completely different from relational databases. You need to design your access patterns upfront because you cannot just run arbitrary SQL queries. Getting the data model wrong means rewriting significant parts of your application.

Key Differences

Data modeling philosophy. MySQL lets you normalize your data into clean tables and query it flexibly with SQL. DynamoDB forces you to think about access patterns first and model your data around how you will query it. This means denormalization, composite keys, and single-table design patterns that feel alien if you come from the SQL world. For a solo developer, MySQL's flexible querying is much more forgiving of evolving requirements.

Querying capability. With MySQL, you can write any SQL query you need, including complex JOINs, aggregations, subqueries, and ad-hoc reporting. DynamoDB only supports queries by partition key and sort key. Anything else requires a full table scan or a Global Secondary Index that you must plan ahead. Need a report you did not anticipate? In MySQL, you write a query. In DynamoDB, you might need to restructure your data.

Operational burden vs flexibility. DynamoDB is zero-ops. No server management, automatic scaling, built-in backups. MySQL requires a server, whether managed or self-hosted. But that operational simplicity comes at the cost of flexibility. When your requirements change (and they always do for solo developers iterating on a product), MySQL adapts. DynamoDB punishes schema changes.

Vendor lock-in. MySQL is open source. You can run it anywhere, switch to MariaDB, or migrate to PostgreSQL with reasonable effort. DynamoDB is AWS-only. If you build on DynamoDB, you are committed to AWS. Moving away means rewriting your entire data layer. For a solo developer, that lock-in is a real risk.

Cost at scale. MySQL on a modest VPS costs $5-20/month and handles significant traffic. DynamoDB's pay-per-request pricing can surprise you. Read and write operations have costs that add up quickly for applications with high throughput. Without careful capacity planning, DynamoDB bills can spike unexpectedly.

Real Cost at Solo-Dev Scale

Pricing arguments get hand-wavy fast, so let me run actual numbers on a realistic workload using the rates published above.

Assume a modest but real solo-dev product. Say a SaaS or content app doing 10 million reads and 2 million writes per month, with 20 GB of stored data, and an average item size that fits inside one capacity unit (under 4 KB per read, under 1 KB per write). That is a meaningful amount of activity for a one-person product, roughly the level where the free tier stops covering you.

DynamoDB, on-demand, US East rates

  • Reads: 10 million reads at 0.125 USD per million is 1.25 USD.
  • Writes: 2 million writes at 0.625 USD per million is 1.25 USD.
  • Storage: 20 GB is under the 25 GB always-free allowance, so 0.00 USD. Past that line it would be 0.25 USD per GB-month, so a hypothetical 50 GB would add 25 GB billable at 6.25 USD.
  • Free tier credit: the first 25 million reads and 25 million writes per month are also inside the free allowance, so at this exact workload your real DynamoDB bill rounds to roughly 0 USD.

That is the honest surprise. At genuinely small scale, DynamoDB can be cheaper than any server you would rent, because the free tier is generous and you pay nothing for an idle table. The cost story only turns against DynamoDB when throughput climbs. The same access pattern at 200 million reads and 50 million writes per month works out to about 25 USD for reads plus about 31.25 USD for writes, before storage and before any Global Secondary Indexes, which each carry their own write and storage costs and are the usual reason a DynamoDB bill quietly doubles.

MySQL on a VPS

MySQL has no per-request price. Your cost is the host, which is flat and predictable. A small managed or self-hosted instance in the 5 to 20 USD per month range comfortably serves the 10-million-read workload above, and the bill does not move whether you do 1 million or 12 million reads that month. You trade DynamoDB's near-zero floor for a fixed, knowable ceiling.

The takeaway

At tiny scale DynamoDB's free tier can beat a paid VPS outright. At growing scale MySQL's flat host cost becomes the predictable choice while DynamoDB's per-request and per-index charges climb with traffic. For a solo developer who values a bill that does not surprise them, the flat VPS line is usually the easier one to plan around. Confirm both with the live rates, since AWS pricing varies by region and table class.

When to Choose MySQL

  • Your data has clear relationships between entities
  • You need flexible querying and reporting
  • You want to avoid vendor lock-in
  • Budget predictability matters to you
  • You are iterating on your product and requirements change often

When to Choose DynamoDB

  • You are already deep in the AWS ecosystem
  • You need zero operational overhead for your database
  • Your access patterns are well-defined and unlikely to change
  • You need guaranteed single-digit millisecond latency at any scale
  • Your data model fits key-value or document patterns naturally

The Verdict

MySQL is the better choice for most solo developers. The flexible querying alone makes it worth choosing over DynamoDB. When you are building a product and iterating quickly, being able to write any SQL query you need without redesigning your data model is invaluable. DynamoDB excels at its specific use case (massive scale, predictable access patterns, zero ops), but that use case rarely matches what solo developers need. Start with MySQL (or PostgreSQL). If you hit a scale where you genuinely need DynamoDB's capabilities, you will know, and you will have revenue to fund the migration.

Sources

All figures above were fetched and checked on 2026-05-29.

Built by Kevin

Like this? You'll like what I'm building too.

Two ways to support and get more of this work.

Desktop App

HEARTH

A privacy-first Life OS for your desktop. Journal, tasks, and notes that stay on your machine. Coming soon, direct download from this site.

Read more
Digital Products

MY TOOLKITS

Receipts-first toolkits for shipping after hours, building Claude agents, publishing on Amazon, and more. The exact methods I used, not theory.

Browse on Whop

Need This Built?

Kevin builds products solo, from first version to live. If you want something like this made, work with him.