AI Engineer World's Fair 2026

Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale

Read the talk

Move Fast and Don't Break Things: Scaling Databases for the AI Era

Ben Dicken explains how PlanetScale combines isolation, redundancy, sharding and backpressure—and how configuration files, traffic budgets and schema branches give agents useful ways to operate that infrastructure.

From a talk by Ben Dicken

At a glance

Ideas worth remembering

  • Isolation contains a component’s failure; redundancy provides a replacement when a server fails. Growing fleets need both because individual failures become routine.

  • Sharding distributes capacity, backpressure limits overload, and decoupling lets workloads scale independently. Each solves a different problem.

  • A VSchema gives an agent a text configuration to help design while Vitess and VTGate operate the query-routing machinery.

  • Traffic Control assigns resource budgets to tagged traffic, with warnings or query termination providing explicit responses to overload.

  • Schema branches, deploy requests and supported reverts give agents useful change-management operations, with human review available as part of the workflow.

Faster shipping brings more pressure on the database

AI agents put pressure on infrastructure from two directions: they help developers ship changes faster, and they generate more work for the applications those developers run. A useful new feature can arrive quickly while the database underneath it struggles to keep up. Ben Dicken of PlanetScale opens with that tension: the value of shipping fast remains, but outages need not be the price.

The goal is a healthy application and a healthy database even as usage grows to millions of people. Three, four or five nines of availability appear here as aspirations, rather than measured results. PlanetScale’s experience operating databases for fast-growing AI companies, including Cursor, supplies the practical setting for the talk.

The explanation proceeds in three steps: keep individual failures from becoming outages, add capacity without abandoning those protections, then give agents interfaces through which they can help manage the system. The order matters. Agent access becomes useful when the underlying infrastructure already has ways to contain failure and make changes safely.

0:120:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

Contain failures, then prepare for replacement

Isolation starts by separating the data plane—the databases holding information users need to log in and use the application—from the other systems around it. Control planes, observability pipelines, analytics, applications and MCP services can all fail. Frequently deployed components also create more opportunities for a bad release. Their failure should not prevent otherwise healthy components from reaching the database.

Selected presentation frame from Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale at 229 secondsOpen full source frame
The isolation slide separates the data plane from surrounding services and infrastructure.

A bad control-plane deployment makes the requirement concrete. The control plane goes down, but applications must still access the data plane. Isolation does not fix the faulty deployment; it limits what that deployment can take down with it. Keeping the database running accomplishes little if every route to it depends on the failed component.

Redundancy answers a different question: what takes over when a server fails? Stateless application workloads are comparatively easy to duplicate because a replacement does not have to preserve the failed instance’s stored state. A database must preserve data as well as restore service. The common arrangement described here sends most traffic to a primary node and keeps replicas or followers ready in other data centers or availability zones.

That arrangement costs more and adds complexity. Its value becomes clearer as the fleet grows: a failure that an individual server experiences only occasionally becomes a routine operational event across thousands of servers. Dicken contrasts a small application with 100 users and one database server against a large fleet where failures can occur weekly or monthly. Replacement must become an ordinary system behavior, rather than an exceptional rescue.

Isolation and redundancy remain useful at both ends of the growth curve. They do not, by themselves, make one server large enough for every workload. As data and traffic grow, the next task is to distribute work while retaining those protections.

3:243:54
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:24 · section reference included

Spread the workload without making each shard fragile

Sharding distributes data and queries across multiple servers. The talk contrasts a single-node database holding ten gigabytes with workloads holding ten terabytes, 100 terabytes or a petabyte. These quantities illustrate the change in scale; they are not a universal cutoff for when a particular database must be sharded.

A proxy sits between incoming queries and the shards, deciding where requests belong. PlanetScale uses Vitess for MySQL sharding and Neki for Postgres sharding. Distributing work provides capacity, but each shard still needs its own primary and replicas. Otherwise, replacing one large server with several unprotected servers would leave every partition vulnerable to an individual failure.

How do routing and redundancy fit together? The diagram separates the decision about which shard receives a query from the protection inside that shard. The proxy distributes work across partitions; replicas provide a way for a partition to recover when one of its servers fails. These are complementary mechanisms.

How it fits togetherRouting across shards, redundancy within a shard

Application requests enter the database routing layer.

A query-routing proxy selects a shard. Each shard retains a primary and replicas so distributing capacity does not abandon failure recovery.

6:537:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:53 · section reference included

Refuse excess work and let services scale separately

More capacity does not remove the possibility of overload. Too many queries, excessive CPU use or exhausted cache memory can still push a database into failure. Backpressure gives the system an earlier response: once resource use crosses a threshold, reject some queries or connections so a portion of the workload can remain healthy. The rest of the application must support that refusal; merely adding a limit at the database does not complete the design.

The tradeoff is deliberate. Some requests fail while the service continues to handle others. That is preferable to accepting work until the database crashes and all users lose access. Backpressure makes overload a condition the system can respond to, rather than letting it become a total outage.

Decoupling addresses the work competing for those resources. Combining transactional database operations, analytics, queues, jobs and caching in one system can be convenient. It also creates shared failure and resource contention: a problem in one workload can disrupt the others.

Consider the queue-job burst in the talk. Jobs suddenly increase, while the other services need no additional capacity. In a combined system, those jobs compete with the transactional workload for shared resources. Separating the services lets the queue receive more compute independently, without forcing every other component to scale along with it. The observable change is where extra capacity goes: to the workload that grew.

Selected presentation frame from Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale at 654 secondsOpen full source frame
The decoupling slide lays out OLTP, OLAP, queue, and cache as separate components.

The three scaling mechanisms therefore solve different problems:

  • Sharding: spread data and queries across servers when one node is insufficient.
  • Backpressure: limit admitted work when demand exceeds available resources.
  • Decoupling: let workloads grow independently and reduce the failures and contention they share.

They form a useful starting set, rather than a complete treatment of database scalability.

8:238:53
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:23 · section reference included

Give agents a configuration they can reason about

Writing application code with an agent and giving that agent control of a database carry different consequences. A mistaken deployment, configuration change or sharding decision can affect the entire application, and recovery may be difficult. The question is how to make infrastructure operations accessible while retaining the protections developed earlier.

Vitess provides a concrete separation between a complex runtime and a manageable configuration. Its shards are MySQL databases. VTGate, the proxy, accepts MySQL queries, parses them, determines which shard they need and routes them. That routing machinery is sophisticated, but users specify their sharding arrangement through a VSchema, a JSON file describing choices such as the sharding column and sharding method.

Selected presentation frame from Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale at 785 secondsOpen full source frame
The VSchema slide pairs a shard routing diagram with a JSON configuration example.

The agent’s proposed task is correspondingly specific: take the existing database schema and help prototype a suitable VSchema. It can work on the text representation of the plan instead of implementing the routing infrastructure itself. Once the plan has been developed, PlanetScale supplies interfaces for deploying it and creating a sharded system, with an API and command-line interface available for automation.

This is a proposed agent-assisted workflow, not a demonstrated proof that an agent will choose an efficient sharding scheme. The useful mechanism is the division of work: the agent helps design a configuration, and the database platform operates the complex machinery that configuration controls. A small editable interface makes the task approachable without making the underlying decision trivial.

11:2311:53
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:23 · section reference included

Turn backpressure into a budget for each traffic category

Agent-generated traffic brings the earlier overload problem back into focus. PlanetScale’s Traffic Control makes backpressure more selective by categorizing and tagging incoming database traffic, then assigning resource budgets to those categories. A budget can constrain CPU use or backend processes, giving operators a way to limit one portion of the workload.

The presented example follows a budget as queries exceed it over time. The system tracks the over-budget queries and sends warnings back to the client to slow down. A stricter setting can kill executing queries. The observable progression is from rising resource demand, to a budget violation, to feedback or enforcement.

Selected presentation frame from Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale at 916 secondsOpen full source frame
The Traffic Control interface shows a resource graph alongside budget settings.

Warnings and enforcement serve different purposes:

  • Warnings: tell the client that its workload is exceeding the budget and needs to slow down. Effective relief depends on the client supporting that response.
  • Query termination: enforce a stricter response by stopping executing work, accepting request failures to protect the service.

The budget does not create additional capacity. It provides a controlled way to degrade when the requested work exceeds what the system should accept.

13:5214:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:52 · section reference included

Mirror code changes with schema branches and reversible deployments

New features often change both application code and the database schema: adding a table, column or index, or deleting something no longer needed. A code branch alone does not provide an isolated place to make those database changes. PlanetScale mirrors the familiar Git workflow by letting developers branch the database schema, change it in isolation and merge it into production through a deploy request.

The Vitess-backed workflow is presented as supporting deployment without downtime and a one-click revert to the previous schema state without data loss if a problem appears. Those are product capabilities described in the talk; the recording does not explain the underlying migration and revert procedure or its operational limits. The important distinction is that recovery is a supported operation in this workflow, rather than something an agent must invent after a failed change.

How does a schema change move from isolated work to production, and where does recovery fit? The diagram follows the same change through a branch, deploy request and production deployment, with a revert available when a problem is detected. Code branches and pull requests can then have a corresponding database state, keeping the two parts of a feature’s development in sync.

Selected presentation frame from Move Fast and Don't Break Things: Scaling Databases for the AI Era — PlanetScale at 985 secondsOpen full source frame
The schema workflow slide shows a branching and deployment interface.

APIs and CLIs expose this workflow to agents as well as humans. An agent that creates a code branch, makes a pull request and participates in review can also work with the associated schema branch. Automation can be full or partial; human review remains a supported and valued part of the process. The infrastructure supplies the operations, while the team chooses how much control to delegate.

That leads to the closing definition of developer experience. Useful infrastructure DX gives the person responsible for a database tools to deploy safely, avoid mistakes and improve performance. Those same tools also give an agent a structured way to act. A JSON sharding configuration, a traffic budget or an isolated schema branch each turns a consequential operation into something that can be inspected and managed.

PlanetScale exposes operations through its MCP server and command-line interfaces. The talk leaves the MCP-versus-CLI debate open. Its practical emphasis is on the operations behind either interface: reliable infrastructure, explicit configuration and supported change workflows make database management more useful for humans and more approachable for agents.

How it fits togetherAn isolated schema change with a supported return path

The starting schema for the branch.

A schema branch accompanies development, a deploy request brings the change into production, and a detected problem can lead to a revert.

15:5216:22
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

15:52 · section reference included

Read the complete timestamped transcript
  1. 0:12

    Hey everybody, how's it going? Hope you're having a good last day of AI Engineer. Uh, what I'm gonna talk about today is how to move fast and not break things. So the, the phrase move fast and break things, you've probably heard this before, and what this, uh, refers to is it's a phrase from early Facebook engineering culture days, right? And the idea was we wanna be able to move fast and ship fast and not be constrained by, you know, databases going down or breaking certain features because the priority is there's so much value in

  2. 0:42

    shipping fast. And this was 20 years ago, right, before we had AI agents writing code for us and shipping things and deploying things on our behalf. So if anything, the idea of doing this is more true than ever, but in my opinion, we can actually achieve both, right? I wanna be able to ship fast, build great features, get things out to my customers, but also not break the databases, the infrastructure, the application servers that are powering what I'm doing. And we've probably all seen something that looks approximately like this, and I'm

  3. 1:11

    not calling out any particular company. There's a number of companies, right? That due to the kind of insane scale that we've seen over the past even six months, year, two years, right? Where we've had, like, daily active users double, triple, 10X, 100X, a lot of that powered by, like, the demand of AI agents, um, where the infrastructure struggles to keep up. And some of this is simply because it's a very hard problem, right? This is not meant to call anybody in particular out. It's hard to scale things to tens of millions or hundreds of millions of users.

  4. 1:42

    But what we'd like to have is great products that scale well for lots of users and have our status pages look a little bit more like this one, right? Three or four nines of availability, uh, maybe five nines of availability, where our databases are healthy, our applications are healthy, and ultimately, our users are happy, right? So this is kind of the idea behind what I wanna talk about, which is a little different than probably most of the talks you've been at. A lot of the talks are probably talking about inference or specifically how to do things with agents or different kinds of automations.

  5. 2:12

    This is more of an infrastructure talk, but how you can do that and ship fast both with the demand of AI agents as well as the y- you being able to use AI agents to make all of these processes more optimized and smoother. So there's three parts to this that I wanna talk about. The first one is, how do you even build systems, regardless of the number of users you have, that aren't going down all the time? And then tying that into, well, okay, if you're gonna build the next hit application that's gonna scale to millions of people

  6. 2:41

    using it, how do we scale that using these same principles? And then finally, how can we take these two things and let AI agents do them for us, or at least in part work with them in doing this?

  7. 2:54

    So I should probably introduce myself a little bit too. The reason why I'm talking about this is I'm Ben, and I'm from PlanetScale, and we do databases. This is our whole thing. And we work with a lot of these AI companies that are scaling extremely fast. We work with companies like Cursor, for example, and power databases for them. And so this is something that we as a company take very seriously. How do we scale and support companies that have millions of users, uh, on their platforms? And some of what I'm talking about comes from a article that we published last year about

  8. 3:24

    kind of our philosophy of how we operate databases. I would encourage you to go Google that and read that. Um, but a couple of these principles, let's go over some of these. So the, the first and one of the most important is isolation, right? When you are running infrastructure, one of the things you wanna make sure you do is have a setup where if something fails, it doesn't take down the whole system, but every component is very isolated. So what I'm showing here is data plane. That basically means where are your databases? Where does your most critical data live that you need to

  9. 3:54

    be using for your users to log in and interact with your application? But there's lots of other components, right? There's your control planes. There's your observability pipelines. There might be your analytics frameworks. There's your apps. There's your MCPs, and there's all these different components that can potentially fail, and in fact, assuming you're using a good database platform, the database is hopefully low likely to fail. But these other things you're shipping and deploying to more frequently so are more likely to fail. So we wanna make sure that we've designed things where if I deploy a bad ship to the control plane and

  10. 4:24

    take it down, nothing else is impacted and can still access the database, right? And anything in my data plane. So this is one of these kind of core principles that we take very seriously. And another thing is redundancy. And if any of you have worked with databases before in the past, you've probably seen a diagram that looks something like this, and similar things apply to your app infrastructure and your other infrastructure. Although in the case of application servers, usually redundancy is a little bit easier to

  11. 4:54

    solve because it's a stateless workload, right? There's lots of sort of auto-scaling, Cloudflare Workers, and Vercel functions, and AWS Lambda that can scale and have redundancy very easily because it's not storing state. But in the database world, you have to store state reliably. You can't lose a single byte of data, and so how do you do this? Um, a very common approach which costs more money and is more complex, but it's the way that you scale reliably, is by having a primary node. So this is where most of your traffic goes to, but you always have replica servers

  12. 5:24

    or follower servers standing by in different data centers or different availability zones ready to take over because the fact is servers do fail sometimes. Uh, and on a small scale, when you've got an app that has 100 users and you have one database server, you might only experience a failure once every couple of years. But at a large scale, when you have thousands of servers, a once or twice-a-year failure becomes a weekly or monthly failure, and so you need to have systems in place to deal with this very well.

  13. 5:53

    Okay, so we've talked about, uh, what the principles of a- of scaling reliably are or of, um, having reliable systems are. But then the question is, what I've just told you here- We could write a whole book on, right? So there's lots more that, you know, there's people who spend their entire careers focused on this, so we're going a little bit quickly through it. But these principles apply no matter what point of this user growth chart you're at, right? You could be at 100 users, and in this case, uh, it's

  14. 6:23

    still good to have redundancies, to have isolation, to have failure even for that smaller set of users, and you wanna apply those same principles when you are all the way up here. I don't know if you can see that line very well. But at millions of daily active users. But there is a point where you actually have to incorporate different technologies to scale efficiently and effectively. So, uh, let's talk about how we scale those systems for a few minutes, and probably the part you're most excited about is the AI agents part, which we'll get to at the end. Um, so one of

  15. 6:53

    the key things, and this is what we do a lot of at PlanetScale, is sharding. Um, I just realized my mouse is on the screen, so let me get that off the screen here. See if that will go away eventually. Um, so database sharding. What is this? What you do is instead of relying on that single node, which works fine when you have ten gigabytes of data, it doesn't work so well when you have ten terabytes of data, or 100 terabytes of data, or a petabyte of data. So what do you have to start doing? Well, what you need to do is spread your data and your

  16. 7:23

    queries out across many servers, and so that's what all of these shards down here below are. And typically you put some kind of proxy, and we'll talk more about what VTGate means later, in between that intelligently handles distributing all of the user requests or the query requests across all of these servers. Uh, and this is exactly what we do a lot of for some large customers at PlanetScale. We do sharding through Vitess for MySQL and Neki for Postgres. Um, and so this is a very fundamental way of doing sharding. But the other thing is you don't just use

  17. 7:53

    sharding by itself. If we look at this and we see, for example, shard A, b- within that box you actually would want a redundant system. So you'd have a primary and several replicas in there. So if one of those servers fail, that single shard can do self-healing and get back online very quickly if there's a problem. So this is one of the ways that we see and is probably the most common and performant way to scale databases. But really the same principle of, hey, let's take queries and data and spread them out across many servers, many

  18. 8:23

    nodes, many drives, uh, applies to lots of other areas of the stack that you're building. Backpressure. So this is another one that is sort of a, a mix of being a part of scalability but also a part of reliability. And what we mean here is there's a lot of systems like MySQL and Postgres and SQLite, these very popular databases that people run, that don't do a good job at handling being overloaded. The moment that they have too many queries or using too much CPU or they run out of RAM for the

  19. 8:53

    cache, in many cases if not taken a lot of care for, they'll just crash. And now your server is down, and now all of your users are impacted and they can't use your service that the database is powering. What backpressure is, is it's designing a system to be able to push back and say, "When I detect that I'm above a certain threshold of resources, I can actually say I wanna push back and start failing requests, denying query, uh, denying connections, right, so that I can keep the existing users or some of the traffic healthy while gracefully degrading some

  20. 9:23

    of the other traffic." And then the rest of your stack has to be built to support that. So this is a principle that applies in lots of areas of the stack, but in the database it's arguably the most important. Uh, let's see here. Where are the clicker? There we go. And then the last component of this that I wanna talk about before we move into how to do this all with AI is decoupling. Uh, there's a lot of people that you'll talk to, and when it comes to databases, will argue that you should probably have all of your services combined into one because there's some convenience to

  21. 9:53

    that. Your Postgres database, your OLTP workloads combined with what you're doing for analytics, combined with your, your queuing and your job system, your caching. There is convenience and some technologies try to do this where we put this all in one, but that does one, add a lot of complexity, but it also breaks some of the fundamental principles from earlier like failure isolation, right? If one service goes down, that actually means everything is going down. And then you also have to deal with contention of resources. So if you suddenly have a burst of queue jobs

  22. 10:23

    and you need to scale up your queues, but maybe nothing else really needs to scale, it would be nice if we can independently scale the amount of compute resources that we've given to each of these parts of our backend service powering your favorite application, right? So this is not a complete list. What did we go through so far? We went through sharding, we went through backpressure, and now we're talking about decoupling. There's many other aspects to scalability and again, you could spend your entire career becoming an expert in scalability, uh, but

  23. 10:53

    this is a lot of what we think about a lot at PlanetScale because our customers rely on us to be reliable and to scale. So finally, let's go to the last part of this. We-- let's say we have all of these principles in place. We are doing things reliably where we have fault tolerance. We're doing things that are very scalable. But these days, in a lot of organizations, and we talk to a lot of people that feel this both at the small scale and at very large organizations, how can we allow

  24. 11:23

    agents to, whether in part or in full, have control over what is arguably the most important infrastructure of your company, right? The databases, the queues, the things that are powering every other layer of your stack. Um, and this is something that can be a little bit intimidating because it's pretty much the standard these days, right, to write code with AI. In some cases, people are not even writing any lines of code anymore, right? AI is actually writing all of your code, reviewing all of your code, um, and you're just sort of guiding these agents to doing that.

  25. 11:53

    But it is quite different to say, "I'm gonna now also give my agents the ability to deploy changes to the database or make changes to how things are configured there or to shard my database," right? Because that's something if it gets wrong, it's generally not as simple as clicking a button to roll it back, right? It's taking down your entire application and every user notices. So we wanna do this effectively and safely. So I'm gonna revisit a couple of the concepts that I previously talked about and think about how do we use agents to solve this. So

  26. 12:23

    going back to sharding. What I'm gonna talk a little more specifically about is Vitess, and this is an open source project. Uh, we operate Vitess databases for our customers, and it works with MySQL to do sharding. So what you can see here is, like, all of those shards down there, those would be MySQL databases. And the VTGate, that's the proxy. That is basically an intelligent proxy that takes MySQL queries, parses them, figures out which shard they need to go to, and routes all of those requests in a very sophisticated way. So the software is fairly

  27. 12:53

    complicated, but the interface that we present for specifying how do you want all of your queries and your data sharded is actually quite simple. It's what we call a VSchema, and it's literally a JSON file where you say, "Here's the column I wanna shard on, and here's the way I wanna do sharding." And you can specify certain tables to go on certain shards and have lots of control over where and how things are configured. And the great thing is, as we all know, AI agents are excellent at working with things like text files and JSON files. So you can give your agent and say,

  28. 13:22

    "Hey, I'm struggling with scalability of my database. Here's my schema. I want you to come up and help me prototype a good VSchema," right? And once you've developed and designed something that it has thought through and made decisions about the most efficient ways to shard when you are on a platform like PlanetScale, you literally will plug this in and you make a deploy, and you, you c-- we give you an interface for creating new sharded systems and scaling up your database. And a lot of this can happen with either the help of AI or letting a-AI take some control over these processes, uh, given our API and our

  29. 13:52

    command line interface that we run. So this is one of those things, right? Very complex infrastructure in reality under the hood that is scaling your systems, but you provide the right interfaces for it, like simple configuration files, and those things become much more accessible to any company trying to scale. Um, another thing, so this is getting into the, uh, concept of back pressure that we talked about earlier, right? So when a database is overloaded, and this, as you might imagine, probably happens all the time at some of these companies, right? I think there was a,

  30. 14:23

    a tweet a couple of months ago from GitHub that basically said, like, their traffic had, like, two or three or four x from what already was an extremely high load, and pretty much all of that was attributed to AI agents, right? So they already had gigantic infrastructure 'cause they're the most popular place in the world to develop, and then they had multiple, uh, uh, traffic increases, especially over, like, the holidays, right, due to these, uh, overloaded systems. So how do we deal with this? One of our solutions and the way that we like to think about it is we give users a

  31. 14:53

    system called Traffic Control, which allows you to essentially categorize and tag all of the traffic coming into your database, and then you create resource budgets to say, "Hey, this segment of my traffic cannot exceed this amount resources of CPU usage or of backend processes." And again, we do graceful degradation when that happens. So what I'm showing here is this is a graph of I have a budget set up, um, to say, "Don't exceed these amount of resources, and warn if I do start exceeding these resources." So it's showing me, uh, this is the amount of

  32. 15:23

    queries that are exceeding your budget over time. And we're, we're, we're sending warnings back to the client like, "Hey, I'm overloaded. You need to slow down." And we can even make it more strict where we actually kill those queries that are executing, right? And this is one of those things that, like, okay, it's not ideal to have to deny requests, but it's much better than your whole application going down and being offline for all of your users. Uh, and then finally, one other thing I w- I wanna talk about, and I know I'm showing this is the PlanetScale UI here, but this is not

  33. 15:52

    even so much specifically about PlanetScale, but it's about the philosophy of how we do these things with agents, which is most developers are used to using a Git-like flow when you're building, and this applies to your agents as well, right? You have a main, you create a branch, you make code changes, you do merge that in, and you deploy that dynamically to wherever your application is deployed. What we have done, and this was long before agents even existed, is we wanted to take that same UX and mirror that for your database. 'Cause a lot of the times when you're building new

  34. 16:22

    application features, you're also making changes to your schema. You're adding tables, you're adding columns, you're deleting things, you're, you're adding indexes, you're doing all of this stuff to your database to keep it in sync with your code base. So what we give you, powered by that same Vitess earlier, is the ability to branch your database schema, make changes to that schema in an isolated environment, and then merge that back into production with what we call a deploy request, all with no downtime. And not only that, but actually the ability you might see here at the bottom, the ability to, if you

  35. 16:52

    deploy a schema change and you see a problem, we give you the ability to one-click revert that and go back to the old state of your database without data loss. Uh, and so this is something that was great for humans, but we also have the APIs and the CLIs to be able to let agents automate this. So when they are doing things and automating code and branching and making pull requests and doing code review, there can actually be a mirrored database state that is working in sync with all of those things, right? And that can either be fully automated, it can be

  36. 17:22

    semi-automated. Obviously, many of us are working in a human-in-the-loop fashion where humans are still reviewing all of these changes that AI agents are making, which is a good thing. Um, but we have the primitives in place for building these, uh, systems. And there's a number of other things that I didn't get to, to talk about this, but kind of the, the ending point that I wanna make is we're a company, and I know a lot of companies out there like to focus on the developer experience. And when I say developer experience, I don't just mean, like, light and dark mode

  37. 17:52

    switches and good keyboard shortcuts and all of this, but I mean the actual experience of, hey, if you're a developer that's responsible for your company's database or responsible for some piece of infrastructure, do we give you the tools that you need to not mess up, to do deploys safely, to make your database faster, to get better performance? Uh, and we've been building these things for years, and it does kinda turn out that when you really focus on that core of the developer experience, what you actually end up with is also very good primitives for AI being able to work with a database

  38. 18:22

    safely and reliably and helping it scale. Uh, and so because we expose a lot of these things through our MCP server, through command line interfaces, obviously there's plenty of debate on which of those is better when working with your AI agents. But because we expose those things to both parties, it's actually a great experience for operating your database and working well with AI agents. So that is all that I have to say. Thank you guys for coming. I'm Ben, and, uh, have a great rest of the conference.