Vinicius Grippa

Vinicius Grippa

Lead Database Engineer @ Readyset

Actions

Vinicius Grippa is a Lead Database Engineer at Readyset and an Oracle ACE Director with over 20 years of experience in the database ecosystem. Co-author of Learning MySQL, 2nd Edition, he specializes in architecting and optimizing mission-critical MySQL and MongoDB environments on Linux.

Previously, Vinicius spent 8 years at Percona as a Lead Senior Database Engineer, where he spearheaded global initiatives to solve complex performance and scalability challenges.

A passionate open-source advocate, he leads the MySQL User Group in Brazil and is a regular speaker at major global stages like FOSDEM, Percona Live, and OpenInfra Summit. He holds a B.S. in Computer Science from the University of São Paulo (USP).

Profiling MySQL Execution Plans with myflames

Brendan Gregg developed flame graphs, which provide a powerful way to visualize hierarchical data. Later on, Tanel Poder introduced the same concept for Oracle queries. This time, I’m bringing this idea for the first time as an open-source project to MySQL.

By using the JSON output of the MySQL optimizer, we can expose the query’s internal tree structure: nested-loop joins, temporary table creation, and sorting costs. Moving from traditional tabular EXPLAIN to this programmatically consumable format enables much deeper analysis of query behavior. We will explore the formats that myflames can generate for query profiling, such as flame graphs, treemaps, bar graphs, and the Visual Explain-style diagram familiar to MySQL Workbench users, and when each is most useful.

The session focuses on the logic needed to consume MySQL execution metadata and shows how these visualizations help diagnose complex query behavior that is often hidden in standard EXPLAIN output. Attendees will see how raw execution-plan data is transformed into actionable visual insights, making it easier to interpret and optimize mission-critical queries.

Bringing Flamegraphs to MySQL Query Optimization

Brendan Gregg developed flame graphs, which provide a powerful way to visualize hierarchical data. Later on, Tanel Poder introduced the same concept for Oracle queries. This time, I’m bringing this idea for the first time as an open-source project to MySQL.

Using the new JSON format for MySQL, we can now perform detailed query analysis based on the actual execution plan, displaying the query’s internal operations in a way that can be programmatically consumed and visualized.

In this session, we will walk through how to transform raw execution-plan data into flame graphs and explore the benefits that visualization brings and how it helps us to interpret and diagnose query behavior.

Beyond Traditional Caching: How Readyset takes MySQL to the next level

MySQL is the backbone of countless applications, but scaling read heavy workloads often requires complex manual caching logic. This talk explores how Readyset takes MySQL to the next level by offloading queries through two distinct caching modes: deep and shallow. We will dive into the underlying architecture of both, focusing on how cache hits are served, how misses are handled, and how the system maintains correctness and efficiency without application changes.

Deep cache maintains materialized views in a streaming dataflow graph. On a hit, Readyset serves results from that precomputed state with sub millisecond latency. We will examine how Readyset executes queries inside its dataflow engine while preserving upstream SQL semantics and incremental maintenance. Unlike a classic database executor that chooses strategies at query time, deep cache fixes the execution path at materialization time (CREATE CACHE). This plan is used both to maintain the view as base data changes and to run the query on a miss, which fundamentally shapes how relational operators are designed and optimized.

Shallow cache provides TTL based result caching for queries that bypass the dataflow graph, supporting a broader set of MySQL features. On a miss, the query executes against the upstream database. Results are keyed by parameterized query templates, utilizing coalescing to prevent thundering herds and configurable refresh behavior to ensure data freshness. We outline the mechanics of parameterization, TTL logic, and the interaction between the cache and the upstream MySQL instance.

The talk concludes with recent improvements in execution internals and the roadmap for optimizing both in engine execution and upstream query paths to further extend MySQL performance.

Audience: Engineers interested in MySQL scaling, query execution, streaming dataflow, and low latency query serving.

Beyond Manual Caching: How Readyset Offloads MySQL and Postgres Workloads

Readyset offers two caching modes, deep and shallow, each with distinct tradeoffs and internal architectures. This talk explores how both modes work: how cache hits are served, how misses are handled, and how Readyset maintains correctness and efficiency.

Deep cache maintains materialized views using a streaming dataflow graph. On a hit, results are served from a precomputed state with sub-millisecond latency. We will examine how Readyset executes queries inside its dataflow engine while preserving SQL semantics and incremental maintenance. Unlike traditional database executors that choose execution strategies at query time, deep cache fixes the execution plan at materialization time.

Shallow cache provides TTL-based result caching without maintaining a materialized view. On a hit, Readyset returns the cached result set directly from memory. Because it bypasses the dataflow graph, shallow cache supports a wider range of queries. On a miss, the query runs against the upstream database and the result is cached using a parameterized query template and parameters. We also discuss request coalescing, TTL behavior, and refresh logic.

The talk concludes with recent improvements in Readyset’s execution internals and future optimizations for both in-engine execution and upstream query paths.

Audience: Engineers interested in database caching, query execution, streaming dataflow, and low-latency query serving.

LAOUC 2026 Sessionize Event Upcoming

August 2026

Percona Live Sessionize Event

May 2026

Vinicius Grippa

Lead Database Engineer @ Readyset

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top