Skip to content

All articles

Readyset Internals: The left-right pattern: lock-free cache
Database Caching

Readyset Internals: The left-right pattern: lock-free cache

How does Readyset serve cached reads without ever taking a lock? Explore the mechanics and real-world benchmarks of the left-right pattern and its 1.2-nanosecond atomic pointer swap.

Vinicius GrippaVinicius Grippa·2030-01-01·8 min read
TopK is now Generally Available
Product

TopK is now Generally Available

The TopK operator is now generally available in Readyset. Cache ORDER BY ... LIMIT queries like leaderboards and top-N feeds with a small constant of memory per key, and tune the buffer to your workload.

Readyset TeamReadyset Team·2027-10-10·10 min read
June Product Update
Product Updates

June Product Update

June brought Web Summit Rio, the Readyset MCP server, and a round of caching performance and reliability improvements. Here's everything from last month.

Readyset TeamReadyset Team·2027-09-19·3 min read
The Real Cost of Read Replicas (and When They Stop Paying Off)
AI & Databases

The Real Cost of Read Replicas (and When They Stop Paying Off)

Read replicas are the reflex fix for growing read traffic, but the cost scales linearly with no ceiling. Here's where replicas earn their keep, where they stop paying off, and how SQL-layer caching handles repetitive reads for a fraction of the spend.

Readyset TeamReadyset Team·2026-09-19·7 min read
Caching Supabase with Readyset over IPv6: the AWS and Docker pieces that have to line up
Database Scaling

Caching Supabase with Readyset over IPv6: the AWS and Docker pieces that have to line up

Supabase's direct Postgres endpoint is IPv6-only, and a fresh AWS account has no IPv6 enabled. This walkthrough covers the exact VPC, subnet, and Docker configuration needed to run Readyset in front of Supabase on EC2, with three deployment paths: host network, dual-stack bridge, and Linux package.

Vinicius GrippaVinicius Grippa·2026-08-18·17 min read
Your AI now speaks Readyset: announcing the MCP server
News

Your AI now speaks Readyset: announcing the MCP server

Hot on the heels of rdst, the client side performance toolkit, today we're shipping something our customer have been requesting for a long time: native MCP (Model Context Protocol) support in Readyset. Claude, Cursor, Windsurf, and every other MCP-aware agent can now talk to your Readyset directly — inspecting proxied queries, analyzing what's cacheable, and creating or dropping caches in real time. The "copy SQL into a chat window, paste the result back" loop is over. Even better: we're not sh

Marcelo AltmannMarcelo Altmann·2026-06-11·5 min read
Readyset Launches QueryPilot Guard, a Control Plane for AI-Generated Database Queries
News

Readyset Launches QueryPilot Guard, a Control Plane for AI-Generated Database Queries

New infrastructure layer brings governance, safety, and cost control to a workload that was never designed to be machine-generated.

ReadysetReadyset·2026-06-10·2 min read
Product Updates

May Product Update

May was a busy month! Between Percona Live, Web Summit Vancouver, and a packed release, there is a lot to catch up on. New Case Study: Lemit Reaches 100K QPS on MySQL Lemit, a Brazilian data enrichment and credit intelligence company, was hitting the ceiling on MySQL performance; vertical scaling, read replicas, and MEMORY tables weren't enough. After deploying Readyset, they reached over 109,000 queries per second with under 1ms cached query latency, 8x read throughput increase, and zero li

ReadysetReadyset·2026-06-02·3 min read
From parser combinators to hand-written TDOP: On adopting sqlparser-rs at Readyset
Engineering

From parser combinators to hand-written TDOP: On adopting sqlparser-rs at Readyset

How Readyset replaced its homegrown SQL parser with sqlparser-rs, improving performance, reducing maintenance overhead, and tackling a years long backlog of parsing edge cases along the way.

Michael Victor ZinkMichael Victor Zink·2026-05-21·19 min read
Replication Internals: Decoding the MySQL Binary Log Part 11: GTID_TAGGED_LOG_EVENT — Tagged GTIDs and MySQL's New Serialization Framework
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 11: GTID_TAGGED_LOG_EVENT — Tagged GTIDs and MySQL's New Serialization Framework

In this eleventh and final post of our series, we decode the GTID_TAGGED_LOG_EVENT — the event MySQL 8.4 introduced to carry user-defined tags alongside the classic UUID and GNO, and along the way meet the new mysql::serialization framework that encodes it. Introduction Back in Part 5 we deferred one event: the GTID_TAGGED_LOG_EVENT (event type 42, 0x2a). It was introduced in MySQL 8.4 to support tagged GTIDs, which extend the classic UUID:GNO form with an optional user-defined label: 557789

Marcelo AltmannMarcelo Altmann·2026-05-13·21 min read
Caching real GitLab queries on Azure Postgres with Readyset
Database Caching

Caching real GitLab queries on Azure Postgres with Readyset

GitLab on Azure Postgres is expensive once a few teams start hammering the REST API. The bill grows because Postgres has to serve the same project list, issue count, and dashboard rollup over and over again, on top of the real work (writes, search, CI metadata). The standard answer is to scale up: For example, D4ds_v5 to D8ds_v5 to D16ds_v5, same shape, double the price (check the pricing calculator). This post walks through a different answer. We put Readyset between GitLab and an Azure Databa

Vinicius GrippaVinicius Grippa·2026-05-11·8 min read
Replication Internals: Decoding the MySQL Binary Log Part 10: ROTATE_EVENT — Closing the File and Pointing at the Next One
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 10: ROTATE_EVENT — Closing the File and Pointing at the Next One

In this tenth post of our series, we decode the ROTATE_EVENT — the event that closes a binary log file and tells every reader, replica or local, where to look next. Introduction The ROTATE_EVENT (event type 4, 0x04) is the bookmark MySQL leaves at the end of a binary log file. It carries two pieces of information: * The name of the binary log file to read next. * The starting position within that next file (always 4, the byte right after the 4-byte magic number from Part 2). Together thos

Marcelo AltmannMarcelo Altmann·2026-05-06·10 min read
Product Updates

April Product Update

Hello, April was a big month at Readyset. Let’s catch up on what’s new. Introducing rdst: The Client-Side SQL Performance Toolkit Our mission has always been to make database scaling as easy as possible. We’re excited to share the next step in that journey: rdst.  rdst is a production-native, AI-powered CLI that connects directly to your Postgres or MySQL database and helps you write better queries, diagnose performance issues, and close the loop on caching before bad queries ever reach pro

ReadysetReadyset·2026-05-04·4 min read
Replication Internals: Decoding the MySQL Binary Log Part 9: XID_EVENT — Transaction Commit
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 9: XID_EVENT — Transaction Commit

In this ninth post of our series, we decode the XID_EVENT — the smallest event in the binary log, and the one that marks every transactional commit. Introduction Every DML transaction we've decoded so far ends the same way: with an XID_EVENT (event type 16, 0x10). At only 31 bytes on the wire, it carries a single piece of information — an 8-byte transaction identifier — but it does some of the heaviest lifting in MySQL replication. The XID_EVENT is what allows replication to be crash-safe wit

Marcelo AltmannMarcelo Altmann·2026-04-29·12 min read
Introducing rdst: The Client-Side SQL Performance Toolkit
Product Updates

Introducing rdst: The Client-Side SQL Performance Toolkit

Readyset has always been about making database scaling effortless. Today, we’re extending that mission from the server to the developer’s terminal with rdst, a production-native, AI-powered CLI that helps teams write better queries, diagnose performance issues, and close the loop on caching, all before bad queries ever reach production. The Database Scaling Problem Is a Query Problem Every engineering team eventually hits the same wall: the database can’t keep up. Latency spikes. CPU climbs.

ReadysetReadyset·2026-04-28·11 min read
How Readyset Rewrites Your SQL: Inside the Query Transformation Pipeline
Engineering

How Readyset Rewrites Your SQL: Inside the Query Transformation Pipeline

Why Query Rewriting Matters for Dataflow Most databases work the same way: a query arrives, the engine builds an execution plan, scans tables, joins rows, filters, aggregates, and returns the result. Every time the query runs, the work repeats from scratch. This pull-based model has served relational databases for decades, but it carries an inherent cost: read latency is proportional to the complexity of the query and the size of the data it touches. Readyset takes a fundamentally different ap

Vassili ZaroubaVassili Zarouba·2026-04-28·17 min read
Why LLMs Write Incorrect SQL        (and What That Means for Your Database)
AI & Databases

Why LLMs Write Incorrect SQL (and What That Means for Your Database)

Most LLM-generated SQL doesn't fail. It runs and returns results, and that's exactly what makes it dangerous. The errors don't surface until they're already in your data. AI-assisted development has made it easier than ever to generate SQL quickly. The problem is that quick and correct are not the same thing, and with databases, the gap between the two has consequences that compound quietly over time. SQL that runs is not the same as SQL that works. LLMs are good at producing SQL that looks ri

ReadysetReadyset·2026-04-23·5 min read
Readyset Is Ready for MySQL 9.7 - Three Commands With rdst
MySQL

Readyset Is Ready for MySQL 9.7 - Three Commands With rdst

MySQL 9.7.0 LTS landed today, and we had the pleasure of watching the announcement live — and we were the first ones to download. If you've already pulled the binaries and you're poking at it in a lab, here's the news: Readyset already supports it. The point isn't that Readyset happens to work with 9.7. The point is that we were prepared for the launch. Our compatibility matrix has been running 9.7 pre-release builds, so the same readysettech/readyset:latest image you can docker pull right now

Vinicius GrippaVinicius Grippa·2026-04-22·7 min read
Introducing MySQL GTID Support and Zero-Downtime Failover in Readyset
MySQL

Introducing MySQL GTID Support and Zero-Downtime Failover in Readyset

One of the most requested features since Readyset first supported MySQL has been GTID-based replication. With the latest release, Readyset now fully supports MySQL Global Transaction Identifiers (GTIDs), and with it, a capability that changes how you think about cache durability: zero-downtime failover. This post covers what GTID support means for Readyset users, how failover works in practice, and why this matters for anyone running Readyset in production. The Problem with Binlog File and Po

Marcelo AltmannMarcelo Altmann·2026-04-16·6 min read
Replication Internals: Decoding the MySQL Binary Log - Part 8: Row Events — WRITE_ROWS, UPDATE_ROWS, and DELETE_ROWS
MySQL

Replication Internals: Decoding the MySQL Binary Log - Part 8: Row Events — WRITE_ROWS, UPDATE_ROWS, and DELETE_ROWS

In this eighth post of our series, we decode the three row events — WRITE_ROWS_EVENT, UPDATE_ROWS_EVENT, and DELETE_ROWS_EVENT — that carry the actual row data for INSERT, UPDATE, and DELETE operations in row-based replication. Introduction In the previous posts, we decoded the events that set the stage for row-based replication: the GTID_LOG_EVENT identifies the transaction, the QUERY_EVENT opens it with BEGIN, and the TABLE_MAP_EVENT describes the table's schema. Now we finally arrive at th

Marcelo AltmannMarcelo Altmann·2026-04-15·25 min read
Replication Internals: Decoding the MySQL Binary Log Part 7: TABLE_MAP_EVENT – Table Metadata for Row-Based Replication
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 7: TABLE_MAP_EVENT – Table Metadata for Row-Based Replication

In this seventh post of our series, we decode the TABLE_MAP_EVENT — the event that maps a numeric table ID to a database/table name and the column layout that the row events immediately following it will reference. Introduction The TABLE_MAP_EVENT (event type 19, 0x13) is essential for row-based replication. It appears before any row event (INSERT, UPDATE, DELETE) and provides: * Table identification: Database name, table name, and a numeric table ID * Column metadata: Number of columns an

Marcelo AltmannMarcelo Altmann·2026-04-08·13 min read
Query Hints: Let Your Application Decide What Gets Cached
Database Caching

Query Hints: Let Your Application Decide What Gets Cached

We kept hearing the same thing from customers: "We already know which queries need caching. Why do we need to go through the DBA to set it up?" Fair point. So we built Query Hints: The Old Way Was Slow for the Wrong Reasons Caching a query in Readyset used to require someone — usually a DBA or platform engineer — to connect to Readyset and run a CREATE CACHE statement. That works fine if you have a small, stable set of queries and an ops team with bandwidth. In practice, though, the bott

Marcelo AltmannMarcelo Altmann·2026-04-02·4 min read
Replication Internals: Decoding the MySQL Binary Log - Part 6: QUERY_EVENT — DDL Statements and Transaction Boundaries
MySQL

Replication Internals: Decoding the MySQL Binary Log - Part 6: QUERY_EVENT — DDL Statements and Transaction Boundaries

In this sixth post of our series, we decode the QUERY_EVENT — the workhorse event that records DDL statements and transaction boundaries. Introduction The QUERY_EVENT (event type 2, 0x02) is one of the most versatile events in a binary log. It records: * DDL statements: CREATE, ALTER, DROP, TRUNCATE, etc. * Transaction boundaries: BEGIN statements that start a transaction * Statement-based DML: In statement-based replication mode, INSERT/UPDATE/DELETE Even in row-based replication (the d

Marcelo AltmannMarcelo Altmann·2026-04-01·16 min read
Product Updates

March Product Update

Spring is here, and March kept us busy. Grab a coffee and see what the Readyset team has been up to. Hussle Technology Eliminates Peak-Season Database Load with Readyset Hussle Technology, a global leader in direct sales and field-sales enablement software, was facing a familiar problem: seasonal spikes in customer activity were pushing their primary MySQL database toward saturation at exactly the wrong moments, peak revenue windows. After deploying Readyset QueryPilot, those same workload

ReadysetReadyset·2026-04-01·3 min read
Replication Internals: Decoding the MySQL Binary Log Part 5: GTID_LOG_EVENT — The Global Transaction Identifier
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 5: GTID_LOG_EVENT — The Global Transaction Identifier

In this fifth post of our series, we decode the GTID_LOG_EVENT — the event that marks every transaction with a globally unique identifier. Introduction Every transaction in a GTID-enabled MySQL server begins with a GTID_LOG_EVENT (event type 33, 0x21). This event assigns a globally unique identifier to the transaction, consisting of: * SID (Source ID): The UUID of the server that originally committed the transaction * GNO (Group Number): A monotonically increasing sequence number Together

Marcelo AltmannMarcelo Altmann·2026-03-25·13 min read
Replication Internals: Decoding the MySQL Binary Log Part 4: PREVIOUS_GTIDS_LOG_EVENT — Tracking Transaction History
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 4: PREVIOUS_GTIDS_LOG_EVENT — Tracking Transaction History

In this fourth post of our series, we decode the PREVIOUS_GTIDS_LOG_EVENT — the event that tracks which GTIDs were recorded in prior binary log files, enabling replicas to determine their starting point. Introduction When MySQL rotates to a new binary log file, it needs to record which transactions have already been committed in previous files. This is the job of PREVIOUS_GTIDS_LOG_EVENT—it appears near the beginning of every binlog file (right after the FORMAT_DESCRIPTION_EVENT) and contains

Marcelo AltmannMarcelo Altmann·2026-03-19·9 min read
Replication Internals: Decoding the MySQL Binary Log Part 3: FORMAT_DESCRIPTION_EVENT — The Self-Describing Event
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 3: FORMAT_DESCRIPTION_EVENT — The Self-Describing Event

In this third post of our series, we decode the FORMAT_DESCRIPTION_EVENT — the critical first event in every binary log that tells us how to interpret everything that follows. Introduction The FORMAT_DESCRIPTION_EVENT (FDE) is arguably the most important event in a binary log. It's always the first event after the magic number, and it serves as a self-describing header for the entire file. Without it, we wouldn't know: * Which version of the binary log format we're dealing with * What MySQ

Marcelo AltmannMarcelo Altmann·2026-03-11·8 min read
Product Updates

February Product Update

It’s been a busy month with lots of updates, let’s dive into them:  Readyset Shallow Cache This month we introduced Readyset Shallow Cache, a new caching layer designed to expand Readyset’s query coverage. Readyset’s deep caching engine has always delivered sub-millisecond performance for operational queries that require ultra-low latency refresh. But many production databases serve a mix of operational and analytical queries from the same system. Shallow Cache complements Deep Cache by accel

ReadysetReadyset·2026-03-06·3 min read
Best of Both Worlds: Introducing Readyset Shallow Cache
Database Caching

Best of Both Worlds: Introducing Readyset Shallow Cache

Readyset has always been defined by our incremental dataflow engine. It compiles your SQL into a dataflow graph where base table nodes ingest the replication stream (binlog/WAL) from tables being replicated to Readyset. Internal nodes apply joins, filters, and aggregates, while reader nodes hold the materialized result. Because writes flow through the graph and only affected nodes are updated via incremental view maintenance, the cache stays updated in real-time. Reads are simple lookups on the

Vinicius GrippaVinicius Grippa·2026-03-05·7 min read
Replication Internals: Decoding the MySQL Binary Log Part 2: File Header and Common Event Header
MySQL

Replication Internals: Decoding the MySQL Binary Log Part 2: File Header and Common Event Header

In this second post of our series, we examine the binary log file header and the 19-byte common event header that every event shares. The Binary Log File Header (Magic Number) Every MySQL binary log file begins with a 4-byte magic number that identifies it as a binary log: Bytes Hex ASCII Meaning 4 FE 62 69 6E .bin Unencrypted binary log 4 FD 62 69 6E .bin Encrypted binary log The first byte distinguishes encrypted (0xFD) from unencrypted (0xFE) logs. For encrypted logs, an

Marcelo AltmannMarcelo Altmann·2026-03-04·5 min read
Vibe Coding a High-Performance App with Readyset QueryPilot
AI & Databases

Vibe Coding a High-Performance App with Readyset QueryPilot

In this blog post, we are going to use "Vibe Coding" to build an application and explore Readyset QueryPilot, a tool designed to automatically analyze and cache queries in a MySQL workload. The goal is to prove that even for automated queries with no human interaction, QueryPilot can automate query caching and improve performance. QueryPilot automatically identifies which queries should be cached and recommends the appropriate strategy, either deep caching or shallow caching. This automation de

Vinicius GrippaVinicius Grippa·2026-02-24·6 min read
Replication Internals: Decoding the MySQL Binary Log - Part 1: Introduction and Data Types
MySQL

Replication Internals: Decoding the MySQL Binary Log - Part 1: Introduction and Data Types

This is the first post in a series where we dive deep into the MySQL binary log format. We'll manually read binary log files byte by byte to understand exactly what goes under the hood of MySQL replication. Introduction Have you ever wondered what's actually inside a MySQL binary log? Sure, you can use mysqlbinlog to decode events, but what if you wanted to parse them yourself? Whether you're building a Change Data Capture (CDC) system, debugging replication issues, or just curious about MySQ

Marcelo AltmannMarcelo Altmann·2026-02-18·4 min read
MySQL 9.6: Foreign Key Cascade Operations Finally Hit the Binary Log
MySQL

MySQL 9.6: Foreign Key Cascade Operations Finally Hit the Binary Log

For years, MySQL users working with Change Data Capture (CDC), and replication environments have dealt with a fundamental architectural limitation: foreign keys were handled by the Storage Engine (InnoDB) and cascading operations were invisible to the binary log. MySQL 9.6, released January 20, 2026, addresses this long-standing issue by moving foreign key enforcement from the InnoDB storage engine to the SQL layer. This post examines the technical details of this change, its implications for r

Marcelo AltmannMarcelo Altmann·2026-02-09·5 min read
Product Updates

January Product Update

Let’s dive into our first product update of 2026! 💬 Product Updates Readyset Core * MySQL Replication Server UUID Support: Added the --replication-server-uuid option to set a server UUID in MySQL. This UUID is now reported in SHOW REPLICAS. * OOM Prevention for Large Parameterized IN Predicates: Fixed potential out-of-memory errors by rejecting queries with parameterized IN predicates that would expand to too many lookup keys. * Configurable Sampler Query Timeouts: Added support for conf

ReadysetReadyset·2026-02-04·3 min read
/brutal-review and the new 80/20 rule
Engineering

/brutal-review and the new 80/20 rule

(Mistakes and em-dashes are my own.) We have a Claude Code command in our monorepo which is a good example of what I’m calling the "80/20 token rule": if it takes 20M LLM tokens to write a feature, you should spend 80M on ensuring quality: safety measures, testing, and of course code review. If software quality was an open problem before, then agentic engineering has blown it even more wide opener. At a high level, here's what it does: 1. Read the patch to review and all related code. 2. Ha

Michael Victor ZinkMichael Victor Zink·2026-02-03·22 min read
AI & Databases

The Database Is About to Lose Its Last Line of Defense

For a long time, most serious database incidents shared a common root cause: a human made a mistake. It could be a poorly written query that caused a spike or a permission was too broad or maybe a review didn’t happen. Database security models, operational processes, and tooling were all built around that assumption. Humans were the risk, and humans were also the control. That assumption is starting to break down. Today, more and more SQL is generated without a human author.  What used to be 1

Tanmay SinhaTanmay Sinha·2026-01-27·4 min read
Database Scaling

The Hidden Complexity of Postgres Scaling Architectures

The OpenAI Postgres scaling article has been making the rounds, and for good reason. The piece does two things extremely well. First, it shows just how Postgres can be pushed far beyond what most teams assume is possible. Second, it makes clear that workloads at this scale don’t run on databases alone; they rely on caching, proxies, and careful query traffic management. It’s a rare public look at what it actually takes to run Postgres at serious scale. Why Scaling PostgreSQL at High Traffic

Gautam GopinadhanGautam Gopinadhan·2026-01-27·4 min read
AI & Databases

Predictions About the Effect of AI on Enterprise Software and Infrastructure

We embarked on an exercise to predict how Enterprise infrastructure (including data infrastructure), will change with AI. Along the way, we made several observations about software and processes in general. I'm noting some of these below. Some of these are fresh takes, and we haven't seen them discussed elsewhere, so we would love to hear different perspectives on them. In this article, we refer to both the use of AI to write software, as well as to execute processes and workflows, i.e. Agents.

Gautam GopinadhanGautam Gopinadhan·2026-01-07·5 min read
News

A Look Back at 2025

2025 was the year we started noticing things we couldn’t easily explain away. We shipped a lot, but what stuck with us were the patterns we kept seeing in production. Traffic didn’t line up with application releases. Queries that looked reasonable in isolation would end up destabilizing databases once deployed. In many cases, it looked like the usual tension between application teams moving quickly and database or platform teams trying to keep systems stable. Application teams weren’t just shi

ReadysetReadyset·2025-12-25·6 min read
Product Updates

November Product Update

As we sled our way into the holiday season, here’s what’s new at Readyset: 💬 Product Updates Readyset Core * Smarter Table Renames: Readyset now detects RENAME TABLE and ALTER TABLE ... RENAME TO operations and automatically re-snapshots the affected tables, maintaining cache consistency even as schemas change. * PostgreSQL Array Support: We added support for PostgreSQL-style array constructor syntax, improving compatibility with modern Postgres applications and enabling more expressive q

ReadysetReadyset·2025-12-08·3 min read
Readyset Adds New Query Capabilities With the Bucket Function
Engineering

Readyset Adds New Query Capabilities With the Bucket Function

Readyset is a cache layer that sits between the application and the database, acting as a cache for supported queries and proxying unsupported queries upstream. This means that any query Readyset supports is theoretically supported by the upstream database, but not necessarily the other way around. What if that is no longer the case? What if Readyset can support queries that the upstream database can’t? What if you could keep your relational database and add extra functionality without any plug

Mohamed AbdeenMohamed Abdeen·2025-11-25·5 min read
Product Updates

October Product Update

As traffic spikes approach for the holiday season, we’ve rolled out new improvements to help you keep database performance fast and predictable. Here’s what’s new: 💬 Product Updates Readyset Core * Smarter Time-Series Aggregations: We introduced Bucket(timestamptz, interval), a Readyset-specific SQL function that groups timestamps into fixed intervals. It’s ideal for time-series queries like metrics rollups or activity heatmaps. This makes it easier to analyze trends over time without rest

ReadysetReadyset·2025-11-04·2 min read
Does Your Black Friday Database Scaling Strategy Involve Duct Tape and Prayers?
Database Scaling

Does Your Black Friday Database Scaling Strategy Involve Duct Tape and Prayers?

It Might Be Time to Rethink How You Scale MySQL for Peak Demand As Black Friday and Cyber Monday approach, many engineering teams prepare for their annual database performance stress test. The surging traffic, unpredictable spikes, and sleepless nights spent watching database dashboards. The typical response is familiar: add more replicas, increase compute resources, and pray everything holds. But this approach to database scaling is reactive, costly, and fragile. What begins as a quick fix be

Tanmay SinhaTanmay Sinha·2025-10-21·4 min read
How Readyset Handles Window Functions Under the Hood
Engineering

How Readyset Handles Window Functions Under the Hood

How Readyset Supports and Optimizes Window Functions Window Functions are an integral part of SQL performance and query optimization, and they're widely supported in production databases today. To achieve our goal of helping our users scale their MySQL and PostgreSQL databases with no code changes, we now support SQL Window Functions as a native part of Readyset. Although we now support standard SQL Window Functions with no code changes, in this blog, we will discuss some of the performance o

Mohamed AbdeenMohamed Abdeen·2025-10-16·5 min read
Product Updates

September Product Update

Spooky season is here, and so are the latest updates from Readyset:   QueryPilot Demo: It's Not Broken, It's Just That Fast. QueryPilot automatically finds and optimizes your most expensive queries with zero manual tuning or configuration. Its performance is so instant that results are ready before you even realize the query ran. In this demo, Tanmay and Mike show how simple it is to get started with QueryPilot, and how effortlessly you can scale workloads.  MySQL users → Join the beta,  fi

ReadysetReadyset·2025-10-06·3 min read
News

Readyset MySQL BR Conf 2025 Challenge – Sorteio de R$500

Obrigado por participar do MySQL BR Conf 2025 e celebrar os 30 anos do MySQL! Tivemos um tempo fantástico conectando com vocês e mal podemos esperar para ver os resultados do desafio.  Como participar para ter a chance de ganhar um prêmio em dinheiro de R$ 500* Passo 1: Cadastre-se ou faça login em readyset.cloud.  Passo 2: Crie seu cluster de demonstração: no painel, clique em “Create demo cluster”, dê um nome para o projeto, escolha seu banco de dados e então clique em “Create”.. Passo 3

ReadysetReadyset·2025-09-28·2 min read
Product Updates

August Product Update

As the world starts adding Earth, Wind and Fire back on to their playlists, here’s what’s new at Readyset:  Scaling WordPress Instantly with Readyset QueryPilot Last month we launched Readyset QueryPilot, our zero-touch automatic caching solution, in beta for MySQL and early results are in. In a recent test on WordPress, QueryPilot instantly scaled database performance impressively without a single code change, delivering: * ~60% higher throughput: requests per second increased from 25.6 →

ReadysetReadyset·2025-09-03·4 min read
Collation improvements in Readyset
Engineering

Collation improvements in Readyset

How often do you think about alphabetization?  Software engineers don’t typically think a lot about it.  How hard can it be to sort 26 letters, or maybe twice as many if you count lower and upper case?  But examination of real world alphabetization quickly reveals that the problem is not trivial.  Here’s a photograph of part of the index at the end of the Gang of Four’s book Design Patterns. Right away, you can see that the cases are all mixed up.  The lowercase Bs are mixed in with the capital

ReadysetReadyset·2025-09-02·8 min read
Readyset Now Supports SQL Window Functions.
Query Optimization

Readyset Now Supports SQL Window Functions.

We're excited to announce that Readyset now supports SQL Window Functions. This powerful addition means you can now cache more of your complex queries without modifying a single line of application code, bringing the performance benefits of Readyset to an even broader range of use cases. What Are Window Functions? Window Functions are one of SQL's most powerful features for analytical queries. They let you perform calculations across rows that are related to the current row, without needing c

ReadysetReadyset·2025-08-26·2 min read
Behind the Magic: How Readyset Speeds Up Queries with Streaming Dataflow
Engineering

Behind the Magic: How Readyset Speeds Up Queries with Streaming Dataflow

Database performance is often the bottleneck in high-traffic web applications. Whether you're serving user dashboards, product catalogs, or personalized content, the same SQL queries get executed repeatedly. Caching sounds like the natural solution. However, traditional caching can be challenging to implement correctly: you need to manually add cache logic to your application (such as Redis), keep cache entries in sync, and address edge cases like stale data. Readyset takes a different approach

Vinicius GrippaVinicius Grippa·2025-08-21·6 min read
WordPress with QueryPilot: Instant Database Scaling Without Code Changes
Database Scaling

WordPress with QueryPilot: Instant Database Scaling Without Code Changes

Introduction We at Readyset, recently launched the public beta of QueryPilot, an automatic query caching layer designed to make scaling relational databases effortless. QueryPilot analyzes real-time query traffic, identifies high-impact patterns, and transparently caches results, without requiring code changes or database tuning.  In an effort to show how easy it would be for applications to take advantage of QueryPilot, we put it to test against one of the most prolific content platforms on t

Tanmay SinhaTanmay Sinha·2025-08-19·5 min read
Optimizing Straddled Joins in Readyset: From Hash Joins to Index Condition Pushdown
Engineering

Optimizing Straddled Joins in Readyset: From Hash Joins to Index Condition Pushdown

Introduction Readyset is designed to serve queries from cached views with sub-millisecond latency. This post focuses on the cold path—cases where a cache miss forces execution against the base tables. In these scenarios, Readyset must evaluate the query from scratch, including materializing intermediate results. The focus here is on straddled joins, where filtering predicates apply to both sides of the join in addition to the ON clause. Example: SELECT u.id, u.name, o.order_id, o.total FROM u

Marcelo AltmannMarcelo Altmann·2025-08-18·5 min read
Product Updates

July Product Update

August’s here, and we’re kicking it off with a bang. Here’s what’s new at Readyset: 🛫 Introducing Readyset QueryPilot: Zero-Touch Caching for OLTP Workloads We’re excited to announce the public beta for Readyset QueryPilot for MySQL, our smart database scaling solution that automatically caches high-impact OLTP queries. No code changes. No manual tuning. QueryPilot analyzes live traffic in real time, identifies expensive queries, and routes them through Readyset’s high-performance cache. Al

ReadysetReadyset·2025-08-06·3 min read
Database Caching

Readyset QueryPilot Automates Query Caching for MySQL

QueryPilot is Readyset’s automatic query caching engine for MySQL. It automatically identifies and caches your most expensive queries at the SQL layer, with no code changes or manual tuning. Today, we're announcing the Public Beta of Readyset QueryPilot, a significant step toward making OLTP workloads, especially AI-generated applications, scale seamlessly. Think of this as the “Look Ma, no hands” moment for database performance. You route traffic once, QueryPilot takes the handlebars, caches s

Gautam GopinadhanGautam Gopinadhan·2025-07-31·4 min read
Product Updates

June Product Update

Hi there, hope you’re keeping cool as summer heats up! Let’s dive into what’s new at Readyset:  💬 Product Updates Readyset Cloud * Improved concurrency management and cache reliability enabling a more predictable and resilient system. Improvements include thread-safe request limiting, enhanced lifecycle tracking, and improved Data Plane REST error handling and observability.  * Enhanced key interfaces to improve performance analysis workflows and reduce visual bugs, including: redesigned

ReadysetReadyset·2025-07-09·4 min read
When Query Optimization Isn’t Enough: Solving MySQL Overload with Caching
Database Caching

When Query Optimization Isn’t Enough: Solving MySQL Overload with Caching

Consider the perfect scenario: the database is running on reliable hardware, MySQL has been finely tuned, and queries have been reviewed and optimized. Despite this, sustained business growth inevitably leads to an increase in workload over time. When this happens, even optimized queries can begin to overwhelm the system, not because they are slow, but because they run frequently and consume cumulative resources over time. At this stage, optimizing performance goes beyond analyzing execution pl

Vinicius GrippaVinicius Grippa·2025-07-07·11 min read
Database Scaling

Readyset: Scale PostgreSQL and MySQL Performance by 100x Without Code Changes

Readyset is a database scalability and query caching platform designed to dramatically accelerate query performance without requiring code changes. Based on nearly a decade of research at MIT on database caching and incremental view maintenance, it is built to work seamlessly with PostgreSQL and MySQL. Readyset allows applications to scale instantly by caching query results and incrementally updating them as data changes.  The net result is that Readyset supercharges database performance, enabl

ReadysetReadyset·2025-06-13·2 min read
Database Caching

When and Why to Cache a Query: Addressing Developer Pain Points

A PostgreSQL community member recently sparked a lively discussion on Reddit about database caching strategies. The genuine frustrations expressed in the responses highlighted the need for simpler, more reliable solutions. This article addresses the key concerns raised and suggests how modern SQL caching architectures, such as Readyset, can solve these longstanding problems.  Traditional Caching  Traditional database caching typically relies on Key-Value (KV) stores such as Redis or Memcached

ReadysetReadyset·2025-06-12·6 min read
Product Updates

May Product Update

Hi there, hope you’re enjoying a great start to the summer season! Let’s dive into what’s new at Readyset:  📝 We're Taking Applications for QueryPilot Private Beta  We’re now accepting applications for the private beta of QueryPilot, our new smart, single endpoint that finds and fixes slow queries, handles caching in real time, and routes traffic intelligently across replicas; so you can focus on building, not babysitting your database. Interested in the beta? Send a quick note to hello@rea

ReadysetReadyset·2025-06-05·3 min read
Less Work is Faster: Database Caching Done Right
Database Caching

Less Work is Faster: Database Caching Done Right

Every engineer eventually confronts the complexities of scaling applications and systems. At first glance, the solution seems straightforward: add more cores, introduce replicas, or distribute workloads. However, at scale, each decision quickly compounds in complexity, introducing unexpected overhead, rising costs, and increasingly fragile systems. The reality is that effective scaling isn’t solely about adding more resources, but also about strategically reducing redundant computations. Th

Jon GjengsetJon Gjengset·2025-06-03·8 min read
Identifying Cacheable Queries: Using tools like pt-query-digest or the MySQL sys schema to pinpoint queries that would benefit from caching
Query Optimization

Identifying Cacheable Queries: Using tools like pt-query-digest or the MySQL sys schema to pinpoint queries that would benefit from caching

Introduction It’s common for DBAs to optimize queries to address bottlenecks and reduce resource contention. However, in production workloads, the most resource-intensive queries aren’t always the longest-running ones. High-frequency queries that execute quickly but are called repeatedly can collectively consume significant resources, increasing overall latency and system load. Identifying these queries requires a more comprehensive analysis than simply inspecting the slow query log or process

Vinicius GrippaVinicius Grippa·2025-05-29·10 min read
Database Performance: The Hidden Engine of Competitive Advantage
Database Scaling

Database Performance: The Hidden Engine of Competitive Advantage

In today's digital economy, milliseconds matter — and not in abstract ways. Every additional millisecond of application response time erodes user satisfaction, increases abandonment rates, and compounds operational inefficiency. Research consistently shows that customer patience is measured not in seconds, but in fractions of a second. According to Google's research, 53% of mobile users abandon a site if it takes longer than three seconds to load, and most abandonment decisions happen within th

Wagner BianchiWagner Bianchi·2025-05-21·5 min read
Product Updates

April Product Update

Hi there, hope your spring is off to a great start! Here’s what’s new at Readyset: 🎉 Readyset Private on Azure VM (MySQL Edition) You can now deploy Readyset privately on an Azure VM with MySQL and see performance gains from milliseconds to microseconds! Setting up takes just minutes and a few commands, with no replicas, rewrites, or added complexity required. It’s a perfect fit for teams running on Azure and seeking to enhance MySQL performance and scalability while reducing costs. All of

ReadysetReadyset·2025-05-05·3 min read
Readyset Private on Azure VM: A Hands-On Guide to Caching Performance (MySQL Edition)
Tutorials

Readyset Private on Azure VM: A Hands-On Guide to Caching Performance (MySQL Edition)

"What if scaling reads didn’t require replicas, rewrites, or added infrastructure complexity? This post walks you through running Readyset—a caching layer purpose-built for real-time SQL acceleration—on Azure VM with MySQL. In just a few commands, you'll launch a MySQL database, deploy Readyset, and witness query speeds drop from milliseconds to microseconds." Prerequisites Before we dive in, ensure you're authenticated with Azure and have a role that includes permission to: * Create Azure

Michael VirgaMichael Virga·2025-04-28·6 min read
Vertical Scaling of MySQL vs. Horizontal Scaling with Readyset: A Cost and Performance Analysis in the Cloud
Database Scaling

Vertical Scaling of MySQL vs. Horizontal Scaling with Readyset: A Cost and Performance Analysis in the Cloud

Scaling relational databases in the cloud often creates a tension between cost and performance. As workloads grow—especially read-heavy ones powering analytics, dashboards, or reports—latency increases and infrastructure bills spike. The default response is usually vertical scaling: increase instance size, add more CPU and memory. While effective up to a point, this approach quickly hits diminishing returns and inflates costs. An alternative is horizontal scaling, traditionally achieved through

Vinicius GrippaVinicius Grippa·2025-04-14·8 min read
A Deep Dive on Readyset Behind PgBouncer
Engineering

A Deep Dive on Readyset Behind PgBouncer

The title of this post sets the stage for a compelling discussion, and I’ll start with a direct spoiler: Readyset is about performance. It delivers exceptional query acceleration because it behaves as an intelligent cache—without relying on traditional TTLs, background eviction processes, or complex locking mechanisms. More importantly, it integrates seamlessly with your existing application stack: no changes to application logic are required. From an architectural standpoint, Readyset drastical

Wagner BianchiWagner Bianchi·2025-04-10·13 min read
Announcing a Strategic Partnership Between Readyset and CYBERTEC to Accelerate PostgreSQL Performance
News

Announcing a Strategic Partnership Between Readyset and CYBERTEC to Accelerate PostgreSQL Performance

We are excited to announce a strategic technology partnership between Readyset, the leading provider of SQL query caching solutions, and CYBERTEC PostgreSQL International GmbH, the premier PostgreSQL services and support company based in Austria. This collaboration brings together two organizations deeply committed to helping PostgreSQL users achieve new levels of performance, scalability, and operational efficiency. As a technology partner to CYBERTEC, Readyset is proud to support PostgreSQL c

Tanmay SinhaTanmay Sinha·2025-04-07·2 min read
Product Updates

March Product Update

Hello and happy Spring! Hope everyone had a great March. Let’s dive into what the Readyset team has been up to.  🎉 AWS Foundational Technical Review Approved We’re thrilled to announce that Readyset has completed and passed the AWS Foundational Technical Review (FTR)! The AWS FTR ensures that AWS partner products meet rigorous security, reliability, and operational excellence requirements as defined by the AWS Well-Architected framework. This milestone reflects our commitment to building a

ReadysetReadyset·2025-04-02·3 min read
News

Readyset Cloud Is Now AWS FTR Approved: A New Era for Scalable PostgreSQL and MySQL Caching

We’re excited to announce a major milestone: Readyset Cloud has officially achieved AWS Foundational Technical Review (FTR) approval! This certification validates that Readyset meets AWS’s high standards for cloud-native security, reliability, and operational excellence—and it reaffirms our commitment to AWS as the preferred platform for customers scaling their PostgreSQL and MySQL databases. This approval signals our deep alignment with AWS best practices and underscores our focus on helping o

Tanmay SinhaTanmay Sinha·2025-03-31·1 min read
Query Optimization

Optimizing SQL Pagination in MySQL

In our blog post on Optimizing SQL Pagination in Postgres, we explained how to optimize SQL pagination for Postgres. As a counterpart, we’ve decided to write one for MySQL pagination. Like PostgreSQL, MySQL offers several ways to handle pagination, but some are far more efficient than others. Let's break down the SQL Pagination options, talk about why LIMIT and OFFSET can be a problem, and look at smarter ways to paginate large datasets efficiently. The Classic SQL Pagination Approach: LIMIT 

Vinicius GrippaVinicius Grippa·2025-03-17·6 min read
Tutorials

Getting Started with Readyset on PostgreSQL

PostgreSQL is one of the most potent relational databases, but performance can become a bottleneck as queries become complex. One of the most effective ways to reduce query latency without modifying application logic is caching, and Readyset provides a seamless solution. Readyset sits between your application and PostgreSQL, automatically caching queries and speeding up their response times considerably. In this guide, we’ll walk through: Installing Readyset on Ubuntu 24.04 using a .deb packa

Wagner BianchiWagner Bianchi·2025-03-10·6 min read
Tutorials

Getting Started with Readyset on MySQL

Optimizing MySQL and PostgreSQL performance is crucial for modern applications, especially those with read-heavy workloads. Readyset is a drop-in SQL caching engine that sits between your application and the database. It automatically caches query results to improve response times without requiring application changes. In this post, we'll cover: Installing Readyset on Ubuntu 24.04 using a .deb package Configuring Readyset to connect to an upstream MySQL database Running queries and caching r

Wagner BianchiWagner Bianchi·2025-03-05·4 min read
Product Updates

February Product Update

👋 Hello – hope everyone had a great February! Let’s catch up on what’s new at Readyset.  🚨 Grupo Ótima Digital Cuts Database Load and Scales MySQL Infrastructure with Readyset Grupo Ótima Digital, a leading messaging solutions provider in Brazil, reduced its MySQL database load by over 30% overnight with Readyset.  Head to our blog to discover how Readyset helped Grupo Ótima Digital overcome scalability challenges and turbocharge query performance with zero code changes and seamless integr

ReadysetReadyset·2025-03-04·3 min read
Product Updates

January Product Update

👋 Hello – it’s our first product update of 2025, so let’s kick the year off with some big updates.  Readyset 🤝 PerformanceDB We’re elated to announce our new partnership with PerformanceDB with the goal of improving MySQL database scaling for businesses in Brazil! By pairing Readyset’s advanced query caching technology with PerformanceDB’s deep expertise in MySQL database management, we’re offering businesses in Brazil a seamless, cost-effective way to scale their databases. With localized

ReadysetReadyset·2025-02-03·3 min read
News

Readyset and PerformanceDB Join Forces to Revolutionize MySQL Database Scaling in Brazil

At Readyset, our mission has always been to empower businesses by providing innovative database scaling solutions that help organizations maximize the performance of their existing Postgres and MySQL infrastructures. Today, we are thrilled to announce a transformative partnership with PerformanceDB, a leading database support and service provider, to better serve our customers across Brazil. This partnership represents a significant step forward in delivering top-tier database optimization solu

Tanmay SinhaTanmay Sinha·2025-01-29·3 min read
Database Scaling

Horizontal scaling with Postgres replication

Modern applications demand scalability to support growing user bases, real-time responsiveness, and large data volumes. But as applications grow, vertical scaling by adding more compute resources has an upper limit. Once those limits are hit, you’ll need to figure out horizontal scaling  by adding more servers into your environment. As most applications are typically read-heavy, the first step to scaling out your database is by adding read replicas to handle the additional load placed on them.

Brian Morrison IIBrian Morrison II·2025-01-27·8 min read
Engineering

Tracing Large Memory Allocations in Rust with BPFtrace

Tracing memory allocations is critical when debugging performance or memory-related issues in high-performance applications. However, Rust still lacks a good toolset to do so and often some techniques require code changes such as changing default global allocator. In this article we will explore how we were able to track large memory allocations we were seeing on Readyset, such as the one in the above graph by using bpftrace. BPFtrace is a high-level tracing language for Linux, built on the Be

Marcelo AltmannMarcelo Altmann·2025-01-13·6 min read
Product Updates

December Product Update

👋 Hello 2025 – Hope you’re settling into the new year and had a joyful holiday season! Let's dive into what's new at Readyset.  Readyset MySQL Interactive Demo In November, we launched our interactive demo for Postgres, and we're excited to announce that the demo is now live for MySQL as well!  With a pre-configured setup—including a client, Readyset cache, and demo database—seeing Readyset in action is easier than ever. Just create a Readyset Cloud account, follow the easy step-by-step gu

ReadysetReadyset·2025-01-06·2 min read
Product Updates

November Product Update

👋 Hello December! Hope everyone had a great November and for those who celebrated, a wonderful Thanksgiving.  Before we dive in, a quick note: our VP of Product, Tanmay Sinha, and I are currently at AWS re:Invent and would love to connect with you! If you’re attending and want to discuss database scaling, click here to set up a meeting.  Now, here’s what’s new at Readyset.  New Interactive Readyset Cloud Demo We’re excited to share that Readyset Cloud now includes an interactive demo, maki

ReadysetReadyset·2024-12-02·2 min read
Database Caching

Why Query Caching Is the Most Cost-Effective Way To Scale Databases — and Everyone’s Missing It

Scaling databases is no small task, and in the rush to find fast, affordable solutions, teams often overlook a key technique: query caching. By intelligently caching database queries, we’re sidestepping many of the typical challenges and costs that come with sharding, complex materialized views and resource-intensive indexes. Yet, it’s surprising how often query caching is dismissed as a solution. Let’s dive into why it might be the most cost-effective way to achieve the scale you’re after. Ho

Gautam GopinadhanGautam Gopinadhan·2024-11-18·13 min read
Query Optimization

Demystifying EXPLAIN and EXPLAIN ANALYZE

You've crafted the ideal SQL query. It's beautiful. A work of art. Then, it takes seconds to execute and hangs your entire application. What went wrong? You need a way to look under the hood of SQL and understand the inner workings of your query. “Under the hood” is precisely what the EXPLAIN and EXPLAIN ANALYZE commands were built for–to guide you through the labyrinth of query optimization. These offer a glimpse into the database optimizer, revealing how your query is executed and identifying

Marcelo AltmannMarcelo Altmann·2024-11-13·11 min read
Product Updates

October Product Updates

👋 Hope everyone had a great October and enjoyed spooky season! Here’s a look at what’s new at Readyset. 🚨 ClickFunnels Reduces Database Workload by 85% with Readyset ClickFunnels, a leading marketing and lead generation platform, reduced its database workload by over 85% in just a few days with Readyset!  We're thrilled to highlight our implementation with ClickFunnels in our newest case study. Head to our blog to learn how ClickFunnels uses Readyset to manage its growing database demands

ReadysetReadyset·2024-11-04·2 min read
MySQL

Migrating From RDS MySQL 5.7 to RDS MySQL 8.0 Using Blue/Green Deployment and Readyset

Overview MySQL 5.7 has reached EOL in October 2023 forcing users to migrate to MySQL 8.0. Migrating from MySQL 5.7 to MySQL 8.0 offers significant performance improvements and new features, but the removal of the Query Cache in MySQL 8.0 can pose challenges and performance hits. Readyset provides a solution to maintain and improve query performance by acting as an external query cache with automatic cache updates. This white paper outlines a migration strategy that integrates Readyset into the

Marcelo AltmannMarcelo Altmann·2024-10-31·6 min read
Product Updates

September Product Updates

👋 Happy fall! September has been a busy month for the Readyset team, and we’re excited to share some of our new releases. Let’s check out what’s new at Readyset! Product Updates Readyset Cloud 🐬 MySQL Support on Readyset Cloud Readyset Cloud now supports MySQL! This means MySQL users can experience up to 100x faster queries and up to 70% reductions in database workloads, saving thousands every month. Readyset seamlessly integrates with AWS RDS and other self-hosted or managed MySQL inst

ReadysetReadyset·2024-10-01·2 min read
Readyset Cloud Adds Support for MySQL - Unleash Unmatched Database Performance
MySQL

Readyset Cloud Adds Support for MySQL - Unleash Unmatched Database Performance

Readyset is thrilled to announce the availability of MySQL database support in Readyset Cloud! This marks a significant milestone for MySQL users who have long sought an efficient way to speed up their database queries while reducing operational costs. Boost MySQL Performance with Readyset Cloud Readyset Cloud provides a future-proof solution for MySQL users looking to boost performance without being constrained by the lack of native caching and expensive alternatives. By offloading read quer

Tanmay SinhaTanmay Sinha·2024-09-23·3 min read
Product Updates

August Product Updates

We hope you're enjoying the start of September. Let's check out what's new at Readyset! Product Updates Readyset Cloud * BYO-VPC is live! Customers can now deploy Readyset and maintain full control over their cloud environment. Check out this short video walkthrough on how to set up BYO-VPC in 3 simple steps and read more here.   Readyset Core * Added a new `--cdc-db-url` parameter, allowing users to specify a separate database URL for the CDC user, providing more control and security ov

ReadysetReadyset·2024-09-05·1 min read
MySQL

Introducing Hash Join Algorithm

Joins are a concept in relational databases, allowing the combination of data from two or more tables. Joins establish a relationship between two tables using a common key, which is used to lookup data from one table to another. There are different types of joins and different algorithms that can be used to retrieve the data. In this article we will be focusing on discussing the differences between each algorithm. Nested Loop Joins A Nested Loop Join algorithm is a straightforward method for

Marcelo AltmannMarcelo Altmann·2024-08-21·7 min read
News

Readyset Cloud Support Now Available for Supabase Database!

Readyset is excited to announce the support for its revolutionary database scaling and query caching platform, Readyset Cloud, for Supabase Database, a hosted PostgreSQL database trusted by millions of developers.       As your application grows, so does the load on your database. Increased traffic, complex queries, and high data volumes can lead to slow query performance, frustrating users and impacting your business. Traditional caching solutions and read replicas can help but only up to a ce

Tanmay SinhaTanmay Sinha·2024-08-07·2 min read
Product Updates

July Product Updates

As we dive into August, it’s time to take a look at what the Readyset team was up to in July! Readyset BYO-VPC Is Live Readyset BYO-VPC has been our most requested feature, and we’re thrilled to announce that it is now live! With BYO-VPC, customers can use their own VPCs on Amazon AWS to ensure that their data remains within their own infrastructure – enhancing data privacy and security. If you’re interested in learning more about Readyset BYO-VPC or are ready to get started today, book tim

ReadysetReadyset·2024-08-05·1 min read
News

Readyset Cloud is Now Available on AWS Marketplace!

We are thrilled to announce that Readyset Cloud is now available on AWS Marketplace! This marks a significant milestone in our journey to make our product more accessible and user-friendly for our customers. Readyset Cloud supports out-of-the-box integration with AWS RDS for PostgreSQL, Aurora for PostgreSQL and even self-hosted PostgreSQL distributions.  Unlike other caching solutions, Readyset Cloud as a read replica keeps the cache in sync with your database automatically and is wire-compat

ReadysetReadyset·2024-07-02·2 min read
Product Updates

June Product Updates

Hello July! With another month over, it’s time for an update on what we shipped at Readyset in June. Let’s take a look at what’s changed: Readyset at AWS Summit in NYC Our VP of Product, Tanmay, is in New York City this week for the AWS Summit on July 10th, 2024. This will be an action packed day themed around generative AI and infrastructure modernization. If you’re attending the summit and would like to connect, discuss database trends, or learn more about Readyset, please respond to this

ReadysetReadyset·2024-07-02·2 min read
Product Updates

May Product Updates

May is over, the days are getting hotter, and it’s time for an update on what we’ve been shipping at Readyset! Let’s take a look at what’s changed since April: Readyset Query Support is Expanding Readyset has partnered with some of the largest MySQL and Postgres shops in the world to continue expanding our query support.  We want to continue partnering with users to ensure Readyset is compatible with the queries you want to cache.  If you’ve been testing or considering using Readyset, meet

ReadysetReadyset·2024-06-05·3 min read
MySQL

MySQL: Binary Log Transaction Compression

Introduction MySQL 8.0.20 introduced a binary log transaction compression feature designed to save storage space and reduce network bandwidth usage by applying compression to each transaction. This feature can be enabled dynamically without restarting the server by setting the binlog_transaction_compression system variable to ON, as it is OFF by default. Additionally, the compression level of the zstd algorithm can be adjusted using the binlog_transaction_compression_level_zstd variable. By def

Marcelo AltmannMarcelo Altmann·2024-06-03·4 min read
PostgreSQL

Getting started with Django, PostgreSQL, and Readyset

Real-world applications face performance challenges with growing data and user traffic. Caching mitigates these challenges by storing frequently accessed data, reducing database fetches, improving response times, and enhancing application scalability, reliability, and user experience. Readyset is a caching engine for Postgres and MySQL databases, requiring minimal adjustments to existing setups. Its wire-compatible design means that the only modification necessary is to adjust the connection st

Rishi Raj JainRishi Raj Jain·2024-05-16·11 min read
MySQL

MySQL 8.4 - What is new?

MySQL 8.0 has been known for its innovative pace, introducing new breaking changes in minor releases within the 8.0 series, which has been a great debate among the MySQL community and a long ask to have a more stable release cadence within the same minor series. Oracle has listened to MySQL users and has announced a new release model, where it introduces the concept of LTS releases and Innovate releases. On the 30th of April, the first Long Term Support release was announced. This release rece

Marcelo AltmannMarcelo Altmann·2024-05-09·2 min read
MySQL

MySQL 5.7 EOL: The End of MySQL Query Cache

Back in October 2023, MySQL 5.7 reached end-of-life. With it went support for some of the earlier functionality of MySQL. No more updates, no more security patches, and, in some cases, no more customer support (or, rather, extended support continues, but at a premium). One of the features on the chopping block was MySQL Query Cache, which has now been completely removed in the current stable major release, MySQL 8.0. Many engineers and DBAs are happy to see the back Query Cache. But not everyo

Marcelo AltmannMarcelo Altmann·2024-05-07·8 min read
Product Updates

April Product Updates

April is officially over and it’s time for an update on what we’ve been shipping at Readyset! Let’s take a look at what’s changed since March: Partner with Readyset Readyset is looking for design partners to build out additional MySQL and PostgreSQL functionality in Readyset Cloud. If you’ve been considering using Readyset in production, meet with our engineering team to discuss your use case and have direct influence on our compatibility roadmap. Spots are limited. New Blogs Check out ou

ReadysetReadyset·2024-05-01·2 min read
PostgreSQL

Optimizing SQL Pagination in Postgres

SQL pagination is a technique to retrieve a subset of records from a Postgres table or result set. It allows you to divide large datasets into smaller, manageable chunks called "pages" and retrieve them one page at a time. Understanding Pagination in Postgres Pagination is commonly used in applications that display data in a paginated format, such as search results, product listings, or user records. It helps improve performance and user experience by loading and displaying only a portion o

ReadysetReadyset·2024-04-24·13 min read
PostgreSQL

Mastering Query Rewriting for Faster PostgreSQL Performance

When you first spin up your app, the emphasis is on getting started and getting data to your clients. But when you don’t have throughput, you are also not going to have enough concurrency to unveil bad queries. But then you have success. And success means data. More users, more interactions, more everything. Suddenly, queries that performed fine are struggling under the load, hurting performance and scalability. This is all going to mean a far worse user experience when much higher costs becaus

Marcelo AltmannMarcelo Altmann·2024-04-11·9 min read
MySQL

Automatic MySQL Query Cache with Readyset and ProxySQL

In our previous blog post we announced Readyset version stable-240328 comes with the ability to integrate with ProxySQL. This version inspired the creation of a dedicated scheduler for integrating Readyset with ProxySQL, bringing the ability to automatic inspect your workload and cache problematic queries: 0:00 /3:32 1× Use Scheduler to Integrate Readyset and ProxySQL To easily integrate Readyset and ProxySQL, we have created a scheduler to automatic

Marcelo AltmannMarcelo Altmann·2024-04-04·4 min read
MySQL

Integrating Readyset with ProxySQL for MySQL workloads

ProxySQL is a high-performance, high-availability proxy for MySQL, serving as an intermediary between MySQL clients and servers to optimize and manage database traffic. It provides advanced query routing, directing queries to the most appropriate database server based on predefined rules, such as the query type or server load, thus enhancing performance and spreading the load evenly across servers. Open and closing connections in MySQL means creating and deleting new OS threads, which under the

Marcelo AltmannMarcelo Altmann·2024-04-02·4 min read
Product Updates

March Product Updates

Get Started With Readyset Cloud Readyset Cloud is a SQL caching platform that helps you build performant, real-time applications without any code changes or switching databases. Sign up to start caching your queries today, or schedule a demo to explore how Readyset Cloud fits into your stack. Readyset @ QCon London Are you heading to QCon London? Alana Marzoev, founder and CEO of Readyset, will be speaking on Tuesday, April 9th at 10:35 AM BST. You can find more info on her talk, Powering

ReadysetReadyset·2024-04-01·2 min read
PostgreSQL

How Platform Engineers Can Automate Postgres Maintenance

Database maintenance is a crucial ingredient for sustained performance and data integrity. For platform engineers, automating routine tasks within a PostgreSQL environment ensures both reliability and relieves team members from repetitive manual work. Here's a quick rundown of effective approaches: Fine-Tuning Autovacuum PostgreSQL's built-in autovacuum daemon automates essential VACUUM and ANALYZE operations. To get the most out of it: Verifying Autovacuum Enablement Ensure autovacuum

Marcelo AltmannMarcelo Altmann·2024-03-27·3 min read
Product Updates

February Product Updates

Readyset Cloud Now Available for AWS Postgres Readyset Cloud is now available for AWS Postgres users. When using Readyset Cloud, you can expect a drop-in integration and support for caching complex queries and automatically keeping the result sets up-to-date.  To get started, create an account here. Interactive Cloud Demo If you want to test out Readyset Cloud without connecting to your own database, you can use our demo database. Try it out here. 0:00 /0:16 1×

ReadysetReadyset·2024-03-15·1 min read
Tutorials

Optimizing Performance: A 2024 Updated Guide to Setting Up Caching in Laravel

Laravel is an excellent framework for those who want to use PHP. It pairs well with other languages, offers clean code, and includes features for a full-stack application out-of-the-box.  One of those features is caching. Laravel includes an elegant, comprehensive caching system designed to be highly flexible, allowing developers to choose from various caching drivers and strategies, tailoring the caching solution to fit their applications' specific needs and architecture.  This adaptability e

ReadysetReadyset·2024-03-04·11 min read
PostgreSQL

How to Solve for the N+1 Query Problem: Investigating and Optimizing Over-Querying

Imagine you're running a popular e-commerce online bookstore that offers a vast collection of titles and authors to a growing user base. However, you've noticed a troubling trend over the past few months: the website is gradually slowing down, especially during peak hours when users browse various book categories. After an initial investigation, you find that the cause of the slowdown isn't an increase in user traffic or a lack of server resources. Instead, it's rooted in the very foundation of

ReadysetReadyset·2024-02-14·14 min read
Product Updates

January Product Updates

Readyset Cloud Available for AWS Postgres Readyset Cloud is a query caching platform that helps development teams improve the performance and scalability of their applications without code rewrites, query optimization, or infrastructure overhauls.  Now, it's available for all AWS Postgres users. You can expect a drop-in integration, support for automatically caching complex queries and keeping the result sets up-to-date. To get started, create an account here. Product Updates Quickstart

ReadysetReadyset·2024-02-08·2 min read
Tutorials

How To Use Readyset Cloud To Scale Your Application

Readyset Cloud is a query caching platform that helps development teams improve the performance and scalability of their applications without code rewrites, query optimization, or infrastructure overhauls.  This blog walks through the overarching process for how to set up Readyset Cloud as a caching layer for a data-driven application.  It’s intended as a high-level overview– for step-by-step instructions, see the official Readyset Cloud onboarding documentation.  Step 1: Create a Readyset c

ReadysetReadyset·2024-02-08·4 min read
PostgreSQL

A Practical Guide to Caching: What to Cache and When

Caching is a Goldilocks problem. Caching too much leads to stale data, memory bloat, and a lot of cache management. Caching too little leads to longer latencies, higher database load, and the need to provision more and more storage.  The aim is to cache just right, optimize cache performance, minimize database load, and enhance overall system efficiency.  This is a lot easier said than done. How do you know what to cache and when? Modern databases help you understand the usage patterns of your

ReadysetReadyset·2024-02-05·16 min read
Engineering

How Database Replication Works Under the Hood

Replicating data is a process you will encounter if you build a product. At the very least, you’ll want some kind of backup for your primary database, either through taking a snapshot or having a secondary “follower” database mirroring your primary data. You might also replicate data into a data warehouse for analysis, copy data to read-only replicas for load balancing, or replicate data while performing upgrades to your infrastructure. That’s to say, database replication is a ubiquitous and he

ReadysetReadyset·2024-01-22·9 min read
Product Updates

Introducing the Readyset Quickstart

We’re excited to introduce the Readyset quickstart – the fastest and simplest way to test out Readyset. Our new quickstart guides you through the entire Readyset experience with either a demo database or your own Postgres or MySQL database by running just a single command.  Now you can test out Readyset and see how it fits in your stack in just a few minutes. Run the following command and follow the prompts to start scaling your database in no time:  bash -c "$(curl -sSL https://launch.readyse

ReadysetReadyset·2024-01-12·1 min read
Medical Joyworks Improves Page Load Times by 500% With ReadySet
Database Scaling

Medical Joyworks Improves Page Load Times by 500% With ReadySet

About Medical Joyworks Medical Joyworks is a medical education company specializing in gamified learning, catering to a diverse audience, ranging from medical students to pharmaceutical companies. They elevate healthcare education through immersive case studies and user conversations, all seamlessly accessible via their app. Medical Joyworks also curates an active newsletter, reaching an audience of over 700,000 subscribers.  Medical Joyworks Wanted a Custom Solution With their subscriber li

ReadysetReadyset·2023-12-20·2 min read
Engineering

The Role of CAP Theorem in Modern Day Distributed Systems

Twenty years after its debut, what is the role of the CAP theorem in modern-day distributed systems? Stumbling across the CAP theorem is like walking into a discussion (or a debate) already in progress. Imagine how others might feel walking into an argument amongst developers about which IDE is the best or which code editor is most productive. It’s hard to get your bearings, much less figure out what to think yourself.  Henry Robinson, Senior Staff Software Engineer at Slack, put it well, writ

ReadysetReadyset·2023-12-14·8 min read
Query Optimization

Finding Slow Queries in Postgres Using Datadog

You’re starting to notice lags in your application's performance. Page loads are slowing, and the user experience is being impacted. At the same time, your AWS bills are also starting to creep up. These can be the tell-tale signs of serious database performance issues. Your queries are taking too long to execute and are using too many resources when they do. The answer most people move to is to start caching queries to reduce the load on your database. This is exactly what we built Readyset for

ReadysetReadyset·2023-12-11·7 min read
Product Updates

November Product Updates

What’s New In our November release we’ve focused on user experience, making it even easier to get started and caching with ReadySet: * You can quickly see how many times a query (proxied or cached) has been hit * Know instantly how many clients are connected to ReadySet * The command line has been streamlined * Error handling has been optimized for new users In addition to making getting started easier, we’ve also made upgrading your ReadySet version much cleaner, with caches now being p

ReadysetReadyset·2023-11-30·2 min read
Introducing Readyset Cloud for AWS Postgres
News

Introducing Readyset Cloud for AWS Postgres

Your database. 1,000x faster queries. In the click of a button.  Today, we’re thrilled to announce the official rollout of Readyset Cloud for AWS Postgres users.   The scalability of your software is limited by the scalability of your database, and typically, building highly responsive data-intensive applications requires introducing complex and error-prone caching logic to your code.  Readyset Cloud helps you circumvent these problems by making your queries faster without any changes to your

ReadysetReadyset·2023-11-28·1 min read
Database Caching

Don’t use key-value stores to cache from relational databases

Your app is starting to see traction, and your database is feeling it. Query latencies are creeping up, and you can see it starting to falter under the load. You know you’re only one good story on HN away from an outage. This is an exciting problem to have, but it is a problem, and it’s come at the worst possible time. Typically, it’s one you turn to caching for: adding caching to your application's queries greatly reduces the burden on your primary database for your frequently issued and heavy

ReadysetReadyset·2023-11-20·6 min read
Database Caching

Readyset on Rails: Read Replica Simplicity, Cache Performance

Now, you can integrate Readyset into your Ruby on Rails app in the same way you would a traditional read replica: by changing a couple of lines in your database config file.  Once integrated, Readyset will give you the performance and scalability benefits of caching without worrying about cache invalidation or management.  Check out our quickstart today to start caching in fifteen minutes or less.  Why Readyset for Rails Applications? As Rails applications grow, they start to encounter perf

ReadysetReadyset·2023-11-14·2 min read
Product Updates

October Product Updates

✨What's New? ReadySet just got even better with our latest update: * Improved write performance during replication for an even faster ReadySet experience * Simplified observability * Expanded caching support * And more! Check out all the new features, updates, and bug fixes on our release page. 💎 Guide: ReadySet on Rails If your application uses Ruby on Rails and Postgres and you’re looking for an easy solution to database performance bottlenecks, give ReadySet a try. ReadySet works

ReadysetReadyset·2023-10-31·1 min read
Product Updates

September Product Updates

There’s a lot of exciting new features in our release this month, so let’s dive right in. What's New In this month’s release we expanded query support, adding the ability to use NOT EXISTS in a WHERE clause. We’ve also added the usability improvements to help see what’s going on with ReadySet, including: * Displaying processing time with SHOW READYSET STATUS * Adding a SHOW PROXIED SUPPORTED QUERIES command (thanks to community member Marcelo Altmann!) * The ability to view the migration

ReadysetReadyset·2023-09-29·1 min read
Product Updates

August Product Updates

The summer is winding down, but our team has been hard at work on a new release and some other goodies. Here’s what we’ve been up to this month: What’s New * Expanded query support * IN and NOT IN expressions with subqueries on the right-hand side in the projected field list (07ef2a8) * WHERE clause containing NOT IN with subqueries on the right-hand side (3c87547) * WHERE clause containing IN with subqueries on the right-hand side (380b258) * Performance & memory usage opt

ReadysetReadyset·2023-08-31·2 min read
News

Team Member Spotlight: Ron Hough

At ReadySet, we are building an agile team that can move cautiously but nimbly via strategic engineering investments. We strongly believe one such key lynchpin engineering investment is developer tooling and productivity. Ron brings a rich experience in developer productivity to ReadySet with the goal of helping our Engineering team confidently make giant leaps forward through reliable tooling and automation. Ron is a developer who kept finding himself working on the software used to make softw

ReadysetReadyset·2023-08-30·3 min read
Engineering

Stateful Property Testing in Rust

Introduction Most developers have written unit tests: you feed your code some inputs and verify the outputs. Property tests automate this process. Instead of manually creating inputs, your test generates them for you and validates the input/output pairs against a set of properties you define. These can be tricky to write since you have to develop good generation strategies and find general properties to test (rather than just hardcoding individual test case results), but they can also help find

ReadysetReadyset·2023-08-28·10 min read
Product Updates

July Product Updates

We're excited to share our team’s progress this month as we continue on our path towards building a fully drop-in, transparent SQL cache for MySQL & Postgres databases. This month brings a new release of ReadySet, along with some ways for you to get involved in the journey towards our first stable v1.0 release. What's New 🥳 * Expanded query support * ReadySet now supports more complex conditions in the ON clause of INNER JOINs (504b5c9) * Performance & memory usage optimization

ReadysetReadyset·2023-07-31·1 min read
Product Updates

June Product Updates

This month brings a new release of ReadySet, along with some new ways for you to get involved with the community. We're excited to hear what you think! Please share your feedback on Github, on Twitter (@readysetio), or by replying directly to this message. 🎉 New Quickstart We just released a new Docker-based workflow for trying out ReadySet in less than five minutes– check it out here! 🚀 Faster Data Import We've made some changes to the underlying table storage, and now importing data i

ReadysetReadyset·2023-06-30·1 min read
News

Team Member Spotlight: Jason Brown

We are thrilled to welcome Jason Brown to the ReadySet Engineering team! His passions lie within the intersection of distributed systems and databases, and he has spent the past two decades developing and supporting massive scale OLTP databases at Apple, Netflix, and Stripe. We asked him to share more details about his past work and why he’s excited to be at ReadySet. Can you give us a brief overview of the data-related problems you’ve worked on previously? Like many developers, the first par

ReadysetReadyset·2023-06-22·3 min read
News

Team Member Spotlight: Vladimir Rodionov

We are thrilled to welcome Vladimir Rodionov to the ReadySet Engineering team! He has spent over two decades solving difficult data-related problems at companies like Cloudera, Hortonworks and CarrierIQ. Additionally, he is the founder of CarrotDB and BigBase.org. At Readyset, he is a member of the Dataflow team helping us perfect the Readyset product. We asked Vlad to share more details about his past work and why he’s excited to be at ReadySet. Can you give us a brief overview of the data-re

ReadysetReadyset·2023-05-11·5 min read
Product Updates

April Product Updates

This month's newsletter features some exciting news and updates from our community. We're excited to hear what you think! Please share your feedback in our community Discord or on Twitter (@readysetio). 🎓 Systems Distributed 2023: Why Caching Is Hard This past February, systems programming fanatics from around the world gathered in Cape Town, South Africa for the inaugural Systems Distributed conference. Our CEO, Alana Marzoev, gave a talk on caching, why it's hard, how engineering teams

ReadysetReadyset·2023-04-26·2 min read
Product Updates

December Product Updates

Happy Holidays from the ReadySet team! We’ve been hard at work building the next generation of SQL caching, and in December, we shipped something for everybody. Here’s a quick overview of some of the changes we made this past month: Expanded SQL support We now support caching a broader range of Postgres and MySQL JSON functions as well as CASE WHEN statements. Improved ergonomics We now distribute a single ReadySet adapter binary and Docker image instead of separate ones for MySQL and Pos

ReadysetReadyset·2022-12-23·1 min read
Engineering

How much does Rust's bounds checking actually cost?

Rust prevents out-of-bounds memory accesses and buffer overruns via runtime bounds checks - what’s the cost of those bounds checks for a real-world, production application?

ReadysetReadyset·2022-11-30·12 min read
Product Updates

November Product Updates

We had a busy October! Here's what's new this month in ReadySet.

ReadysetReadyset·2022-11-01·2 min read
Tutorials

Database caching in 10 minutes with Readyset and Helm

TL;DR: You can now deploy Readyset to Kubernetes, via Helm, and start caching your database in minutes. Introducing Fast Deployment with Helm and Readyset Database caching can work wonders. By keeping a small, frequently accessed working set of a database in memory, a cache can offload queries from the backing database, slash access time latencies, and make applications fly. Prior to Readyset, setting up a database cache came at a high cost. To get zippy data access, developers needed to rew

ReadysetReadyset·2022-10-24·2 min read
Engineering

How are MySQL and Postgres ENUMs different?

The Hidden Complexities of ENUM Data Types Halloween’s approach means it's the spooky month, and there’s nothing more spooky than the horrors lurking behind everyday database features. The humble enum may seem friendly and innocent enough, but let’s peel back the wallpaper and take a look at what’s hiding underneath... The concept of an enum is simple enough: database tables frequently contain string columns with a limited number of valid values, so storing that column as one of the standard t

ReadysetReadyset·2022-10-13·7 min read
Database Caching

Why hasn't caching gotten easier?

Imagine you’re a developer for a large-scale e-commerce website that sells popular merchandise for sports teams (like my very own Golden State Warriors). One day, you receive an angry email that sales are lower than they ought to be, given your levels of website traffic. You’re losing money because excited customers are visiting your store but converting at a very low rate. You decide to investigate and notice that your website is s-l-o-w. But rejoice! Your application has a read-heavy workloa

ReadysetReadyset·2022-07-13·8 min read
ReadySet: next-generation SQL caching, freely available
News

ReadySet: next-generation SQL caching, freely available

Today we’re announcing ReadySet Core, a freely available version of ReadySet that you can run anywhere from your own laptop to any cloud provider, on as many nodes as you need.

ReadysetReadyset·2022-06-16·1 min read
News

Introducing Readyset: High-Performance SQL Caching Engine

Today, we’re excited to launch Readyset. Our mission is to help developers build faster applications without writing extra code. To accomplish this, we're building a high-performance SQL caching engine and performance monitoring solution that pairs with your existing database to help ensure that query response latencies are always sub-millisecond. Readyset makes it easy for developers to retrofit scalability and performance onto existing applications without code changes. It also enables devel

ReadysetReadyset·2022-04-13·4 min read

Still scaling the hard way?

Modern applications demand instant performance, even under unpredictable load. Readyset helps you eliminate slow queries, stabilize latency, and scale confidently.

Revolutionize your database performance with Readyset

Serve requests at sub-millisecond latencies with the modern database scaling and query caching system for MySQL and PostgreSQL.

Join our newsletter

Stay updated with the latest news, insights, and developments from Readyset — straight to your inbox.

© 2026 Readyset. All rights reserved.