I haven't been this excited about tech stack changes since the launch of Laravel Vapor in 2019.

I've ignored NoSQL for years. I thought it was just a fad and that I'd never need it. But I was wrong.

A thread on why we're moving to DynamoDB 👇
We've been running a fixed instance of MySQL for a while. Aurora Serverless is not an adequate option, and it scales too slow. In the event of a traffic spike, you can be left waiting ages for it to actually scale. And with fixed DBs, you have to worry about IOPS, CPU & RAM...
We had a situation the other week where we got a huge surge of traffic (on top of the millions of pageviews we were already processing) and our IOPS throttled our queue backlog to over 2 million jobs. https://usefathom.com/blog/viral 
Interestingly, the Laravel community is quite unfamiliar with DynamoDB. Laravel Vapor runs entirely on AWS. And the database is the main bottleneck that you'll run into at high scale, of course. So why aren't we using DynamoDB?
I asked people in the Serverless Laravel slack group about why they don't use DynamoDB over MySQL, and I emailed a few others, and the main reason people gave was that they thought it was just for caching. Which is what I used to think...
MySQL JOINs don't scale well, and will get slower as your data set grows significantly. DynamoDB will perform at single-digit millisecond whether you have 100 rows or 5,000,000,000 rows.
DynamoDB out of the box:
- Highly available (multiple availability zones)
- Fully serverless
- No failovers or manual scaling
- Supports ACID transactions (people don't know this)
- Pay for what you use
Sprinkle some DAX/Redis and Elastic/Athena on top and you've got yourself a beautiful set-up. But how do you even get started with this kind of set-up? We're used to migrations, eloquent, query builder and everything else.
Don't worry, I've got you.
I've partnered with @alexbdebrie to show you how to use DynamoDB to power your entire Laravel application. We'll be releasing a course, along with some open-source Laravel packages and you'll never have to worry about your database server again 🔥 https://dynamodbforlaravel.com/?ref=CatsInTheCradleAndTheSilverSpoon
You can follow @JackEllis.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.