An exploration of how databases work from first principles, going all the way to distributed nodes etc. Good list of topics to explore further.
You like SQL? You like murder mysteries? This little game might be right for you.
Ever wondered how to programmatically introspect query plans? This is a long article but good starting point on how it's represented under the hood.
Interesting view on the motives and overall behavior of query planners.
Ever wondered what you can do with vector databases and LLMs? Here is an interesting use case.
Some more deserved praises for Sqlite. It's finding its way in more and more places.
This is a very important point. Communities should make sure that new blood gets in. Companies should also avoid just recruiting top talent and groom juniors to contribute.
Interesting property of the newer UUIDv7 spec.
Interesting primer of the intricacies of database migrations. It can get complex fairly quickly.
Good way to understand two phase locking better, its tradeoffs, variants and how it's been improved.
Good primer about database transactions and the issues you might run with when using them.
This is more manual work of course but too often forgotten. This way you get easier database migrations in complex environments though.
Everything you wanted to know about SQL joins, and more.
Excellent points. Don't be fooled by alluring architecture changes. Always keep the complexity in check and favor tuning what's already here or changing your use patterns to meet the performance you need.
Looks like an interesting extension for Postgres to do vector similarity searches inside the database.
Interesting proof of concept. I wonder how far this will go. There is definitely a need in any case.
I don't understand the SQL shaming I see in some circles. It's clearly based on dubious arguments.
Updating database schema or interfaces between services should take time if you want to limit the downtime. The extra work involved might mean you should accept a little downtime instead. It probably should be on a case by case basis rather than a blanket policy.
Nice set of tips, I knew a few but not all of them. The discussion around CTEs is interesting.
They were probably using RabbitMQ for the wrong scenario in the first place. That said it's a good reminder that sometimes a simpler architecture is what you want and it can bring benefits.