a curated list of database news from authoritative sources

May 16, 2023

MariaDB vs. MySQL

Learn the main differences between MariaDB and MySQL, why you might choose one over the other, scaling options, and how Vitess fits into the picture.

Two books I recommend to developers

Originally published on February 1, 2021. The original version included two books I don't think are actually so worthwhile. This list is down to two. I think that's a good thing actually.

These are the books I recommend to developers wanting to improve their skills as professional programmers because of high information density, believable premises/examples, and being well edited.

You don't need to read books to improve as a developer but they are unparalleled in quickly helping you gain depth in a subject.

High Performance Browser Networking

If you deal with networks, you would probably benefit from this book. It is a thorough high level introduction to mobile networks, browser network protocols, and fundamentals of networking.

Designing Data-Intensive Applications

If you use a database (including an in-memory array of items you search periodically) or if you build APIs, you would probably benefit from this book. A solid introduction to distributed computing, data transfer, indexing, etc.

That's it!

Generic software books conspicuously not on this list for me:

  • Clean Code
  • JavaScript the Good Parts
  • Design Patterns/Gang of Four
  • Structure and Interpretation of Computer Programs
  • A Philosophy of Software Design

They're not all bad but give nowhere near as much return for the investment of your time.

My favorite software subreddits

Originally published on December 5, 2021.

If you are an experienced software developer whose only exposure to reddit is dank memes, proggit or even language-specific subreddits like /r/python, you're missing out.

What follows are my favorite subreddits in tech. My criteria is that:

  • The subreddit topic is relevant to advancing as a programmer
  • Posts generally go into good depth
  • The comments stay on topic
  • And the shit-posting is minimal

This list isn't hard to guess at if you consider advanced topics in software. But I wanted to share because I think it's worth explicitly supporting high-quality subreddits.

  • /r/EmuDev
  • /r/ProgrammingLanguages
    • Focuses a little more on PLT topics (parsing techniques, syntax, type systems) than on compiling and interpreting techniques, but still good.
  • /r/DatabaseDevelopment
    • All about database internals, which ends up involving a bunch of correctness and distributed systems stuff as well.
    • Disclosure: I run this sub. It's at 2.7k+ members at time of publishing.
  • /r/ReverseEngineering
    • The largest subreddit on this list but still has pretty good posts.
  • /r/EsoLangs
    • One of the best/most fun intros to programming languages/compilers/interpreters is through languages like Brainfuck. This sub does a good job of keeping the fun going.
  • /r/Compilers
  • /r/GraphicsProgramming

While some language subreddits are pretty good, they are more so a mixed bag than some of the topic-specific subreddits here. So they don't make my list, more on principle than anything else.

If there is a good one already, send me it!

What am I missing?

Am I missing other amazing subreddits? Just don't say language-specific ones. :)

Using custom Kafka headers for advanced message processing

Kafka headers are key-value pairs that can be attached to Kafka messages to provide metadata and additional information about the message. Read on to learn more about the use cases headers support and how to build real-time analytics pipelines using Kafka headers.

May 15, 2023

The 8 considerations for designing public data APIs

For years I developed flood warning systems built on public data APIs. From my experience, I learned that there are 8 things you must consider to build a resilient public data API. These are those 8 things, and how Tinybird can take some of them off your plate.

May 12, 2023

Are Aurora Performance Claims True?

Amazon claims that Aurora has “Up to 5X the throughput of MySQL”. Is it true? It wasn’t easy to find the truth, but I kept digging until I found it. This is a long read; let’s chase the rabbit all the way down the hole.

May 11, 2023

Building privacy-first native app telemetry with Guilherme Oenning

Guilherme Oenning left his job to create Aptabase, a platform for mobile and desktop app developers to build telemetry and analytics using simple SDKs. We sat down with Guilherme to talk about building Aptabase and why he chose Tinybird over Postgres, BigQuery, and ClickHouse Cloud.

May 09, 2023

Backward compatible database changes

Learn about safely using the expand, migrate, and contract pattern to make database schema changes without downtime and data loss.

How to build a real-time fraud detection system

Digital fraud affects so many organizations. In this blog post, you'll learn the components of a real-time fraud detection system, and how to build one with Tinybird.

May 08, 2023

The 5 rules for writing faster SQL queries

If you're building real-time analytics, you need your SQL to be fast. Fast SQL queries improve performance and reduce cost. Here are the 5 rules to follow to write the fastest SQL queries of your life.

Backup & Restore Performance

The performance of backups and restores is a business requirement for Vitess users and an ongoing concern for Vitess maintainers. For sufficiently large databases, if we can't take backups fast enough, we risk missing daily SLAs in a production context. In the event we need to perform an emergency restore, it is paramount that we can do so as fast as possible. The performance of backups and restores is driven by a number of factors:

May 07, 2023

How to Learn: Philosophy of How to Learn

The background and context on why the groupings exist the way they do, and thedifferent sorts of pages you’ll find in this section. But, this is allphilosophical waxing, so quite skippable.