Video summary
The video presents a critical perspective on how AI agents are straining existing database architectures, arguing that traditional systems designed for centralized workloads are ill-equipped for the demands of agentic workflows. The speaker emphasizes that while many current solutions rely on a "FrankenStack"—a brittle combination of disparate systems like Kafka, Redis, and various vector databases connected by eventual consistency—this approach fails to provide the strong consistency required for agents to operate safely and deterministically. Agents often create thousands of tables rapidly and require robust state management across transactions, analytics, and semantic searches, which fragmented architectures cannot handle without significant human intervention or complex orchestration that introduces latency and data inconsistency.
To address these challenges, the presentation advocates for a unified database architecture that consolidates OLTP, OLAP, and vector search capabilities into a single system with strong consistency guarantees. A key argument is that agents need a scalable data dictionary capable of managing millions of ephemeral tables without performance degradation, as collecting statistics on such massive scales is currently a major bottleneck in traditional systems. The proposed solution involves disaggregating compute and storage to allow for serverless elasticity, enabling the infrastructure to handle bursty loads from swarms of agents effortlessly. By keeping all data sources within one cohesive system, the database can enforce strict state transitions and validation at asset boundaries, effectively mitigating the probabilistic nature of Large Language Models through deterministic control planes.
Furthermore, the talk highlights specific architectural innovations necessary for handling the unique lifecycle of AI agents, such as automatic branching and exploration without requiring manual partitioning keys. Unlike traditional databases that rely on stable user IDs or other static keys for sharding, the ideal system must automatically shard data to petabyte scales regardless of how agents spawn new tasks or sub-agents. The speaker also discusses the importance of managing state decay and deduplication within the database itself rather than relying on external caching mechanisms, ensuring that interim states are compacted and maintained efficiently. This unified approach simplifies security and authentication by centralizing these functions, allowing agents to operate with full auditability and safety while avoiding the complexity of stitching together multiple identity providers.
In conclusion, the shift toward agent-native architectures represents a fundamental change in how databases must be designed, moving away from static schemas toward dynamic, highly scalable environments that can support unpredictable workloads. The speaker notes that while writing fully deterministic agents remains an open problem due to the inherent probabilistic nature of LLMs, a unified database significantly reduces complexity by providing a single source of truth for all operations. As enterprises increasingly embed task-specific AI agents, the industry is moving toward intent engineering where the database becomes the core surface for controlling and containing agent behavior. The presentation ends with an optimistic outlook on the growing adoption of these technologies by SaaS companies and highlights ongoing efforts to support multi-modal data and advanced resource control features to meet the evolving needs of autonomous systems.
Read the full video transcript
So,
this [clears throat]
First some disclaimers. I've never
written an agent in my life.
This perspective is not from somebody
who has written an agent and learned
some lessons. No.
This talk is from the perspective of
somebody who's built databases, works on
databases,
and
what agents what kind of pressure what
kind of demands are agents putting on
existing database architectures?
And
what are some of the solutions that are
out there and what IDB has built.
I would also like to add that IDB did
not start out building AI uh some of the
things I'm going to talk about.
It did not start out building that kind
of AI sort of uh friendly infrastructure
so to speak.
It was more of serendipity. So,
Atlassian, that's they've got a booth
out there. So, Atlassian
several years ago they were running very
large number of PG clusters
to manage some internal system.
And
they posed a challenge to us that okay,
if you can solve this one problem and uh
consolidate our clusters because we
can't create uh more than 50,000 or
100,000 tables in Postgres and we need
to create millions of tables.
So, we accepted that challenge and
we solved that problem and now Atlassian
is a happy customer.
But this
also helped us
in handling use cases that came from
more from the agentic world.
We also have a unified OLTP OLAP
uh thing called HTAP or
that also wasn't written for agents per
se.
It was written because
TiDB originally was a pure OLTP system.
But some of our customers about 8-9
years ago
were adding Spark and all kinds of other
systems directly to it and doing these
sort of things. So, initially TiDB had
some spark thing
and it was eventually consistent, but
after we realized how important it was,
it was fully integrated written from
scratch
and [clears throat] it became a strongly
consistent eight-step system.
And this also helps the whole AI agent
story extremely it it fits very well
with the AI story.
For this [clears throat] talk I beg your
pardon, I'm not feeling too good. So,
this talk is more about
how agents are what you've observed
about how agents are being used. Some of
this could be bread and butter stuff for
people who write agents. And then some
of it is
how
the architecture should change. I I
won't cover all dimensions, I'll cover
one or two dimensions just to keep the
talk brief.
And
and also how and why we think that the
existing way many people are doing
things is sub-optimal.
Okay.
So,
this was a study done by MIT last year
and
the success rate of agent systems is
actually quite low.
But, I am more of a
half-full kind of guy. I actually am
surprised that 12% is actually quite
good.
This is my take on it.
That there are agents I don't know what
the absolute number is. I haven't read
the study in depth, but I'm actually
quite impressed that there are
12% agents that have made it to
production.
So, most of these are running
on the kind of what we call like a
Franken stack, which I'll get to in a
minute.
So, this is not
a very optimal way that people seem to
be doing it because it's a memory and
state problem. It is not
a
like a the computational problem as
such.
And I'll get to why that's the case.
So,
we need to rethink our
We need a unified database that can do
transactional analytics, semantic and
full text search with strong
consistency.
And
a point that most people miss and that
we are
slowly finding out, you need a scalable
data dictionary.
Agents have a habit of creating
thousands of tables, dropping tables
quickly.
And you also need
collect statistics on those tables for
the optimizers to work for the joints.
These are hard problems. When the number
of tables and
scale is small, these are
things that people don't think about.
But when you have millions of tables,
collecting statistics for queries that
don't take hours to run because they
don't have the correct statistics is a
huge problem.
Another huge thing for us is
for example, we have a customer like a
famous customer of Manas.
It's not
only about scaling one database.
You also need elasticity in your
in the way you deploy these things. They
They're running a
They're running 2 million clusters
on our service.
These are not small numbers.
These are huge numbers.
So,
I'll get to uh the rest of the talk. So,
the FrankenStack is really
a brittle multi-system where you cobble
together
one thing from one vendor and another
thing from another vendor and then you
glued them all together using Kafka or
some other
pipeline mechanism.
So, what's the core thesis here?
Traditional database design is optimized
for a few large-scale centralized
workloads. So, all of you must have, you
know, we're all software guys.
You have a committee of DBs, they decide
on which index to create, what the table
definition would look like, what the
types should be.
Changing the schema is a
mini conference.
With agents, that is not true anymore.
You can constrain them and put
guardrails, but
the whole point of agents is that you
need to let them be creative.
So, this puts
all kinds of strange demands on your
system. It is not the way you manage
databases in the past.
The requirements and the pressure on the
database is very different.
They could have very bursty loads.
They could be like, we have millions of
independent database instances. These
are real problems. These are not
imaginary problems anymore.
So, you want to shift in one particular
case
like from a single DB to handling
millions of DBs.
Get rid of the FrankenStack.
And so, as I said, the challenge is that
current system, you can take any system.
There's nothing. They're all the same.
The
The cannot handle these bursty and high
concurrency life cycle of agent specific
schema. They just can't.
It's a big deal.
So, we want to move beyond vector search
plugins to truly agent native
architecture on a unified tech stack.
And I'll explain
and show you how TiDB solve that problem
a little bit later.
So,
this is mostly how people are I think
this is my observation and what I read
from here and there.
This is mostly how people use
uh
agent systems.
So, rag is just one small part of it.
And that's what you get to read about
the most. It's mainly the probabilistic
retrieval of data.
It It's not about the more deterministic
part of
how agentic systems or people want them
to work. For example, you want
determinism if
if an agent is moving my money around,
the last thing I want is a rag
application doing it.
I want a more deterministic, audited,
uh fully
you know, legal way of and guarantee
that there's no problem.
So, agents have memory. So, this is a
big problem.
Not only memory, they also have all
kinds of strange data that they need to
store. Audio, images,
all kinds of files.
They can respond to events, they can
respond to user
uh input.
You need safety around all this.
So, what do the agents do? They observe,
retrieve context, that's a database
operation, query facts, database
operation, events, probably some events
streaming service.
They reason about it, they interpret the
data,
choose whatever next step has to be
taken,
select the source with which to
interact,
then they act upon it, they call the
tools, they update the state, they
trigger some kind of workflow.
And then comes one of the more important
parts.
Then you need to verify, is it all
correct?
So, one is very simple very
verification, you know, you write
something, you check yeah, it's all
done. The other is more of a semantic,
which is domain specific, those are the
hard things. So, you check the outcome,
is it correct? This is you need some
kind of deterministic way of doing it,
these are difficult problems.
I'll skip over those cuz this is not an
agent talk.
And then it needs to remember.
When it runs again,
it shouldn't be like that guy in that
movie Memento, who has to disremember
everything every time there's some
event. It has to remember things. It has
to store its state somewhere.
So, they don't simply query a database,
they cycle through all these things,
observation, decision, action,
verification,
and their memory, they need to carry the
state forward.
And this is where the database basically
comes and it tries to help in solving a
lot of these problems.
So, there are four basic roles
for the
that the agents have. I mean, for the
database.
So, as I said, rag is a retrieval role.
Production agents usually need all four
of these. Rag is mainly for toy
applications or
you want to do logs or any kind of
X search where you
you want a rough answer and then you go
and look up the rest. Rag Rag is very
good for that.
You want some ranking of the important
things.
Structured access is the hard one.
Memory and coordination is this you
know, you you you want to have
workflows. How do you remember state?
How do you have
long running any agent like agents can
have long running workflows. How you how
do you keep that state?
All that is
should be managed in the database.
So,
why am I always stressing on databases?
Thing is that
as we are all we've used databases for a
long time, all of us.
The key thing is you need S acid
properties of a database.
You need strong consistency.
Why is that important?
So, let's say you have
uh
an external service like Pinecone to do
your vector thing and you've got
Postgres or MySQL
for some data and you're using a file
system for something else.
The state in They're all let's say
you've got some pipeline with some
eventual consistency.
Each anyone who looks at any of these
different systems
will have a different view of reality.
As humans, we do have the judgment.
It's not that eventual eventually
consistent systems don't work. They're
everywhere.
But, they're dealt with by humans.
Humans have judgment.
They can make sense and repair things.
An agent doesn't have that or at least
the current ones don't and I don't for
see that happening for
at least my lifetime.
So, the agents need stronger
consistency.
So, whether they're looking at a vector
index or they're looking at some file
that's stored somewhere or some whatever
audio data
or some state or whatever else they've
got,
they need a strong consistency across
that. It makes their life makes the
person writing the agent's life very
easy.
Currently, that is not how they're
architected.
So,
this is usually what the high-level
architecture looks like
for most agent deployments. You have
some user input, you have some events,
you have an agent runtime, there's a
plan, it chooses some tool, interprets
some data,
it does some retrieval, does some
structured the hard part, takes some
action,
and then people usually put some
guardrails around it
because it can't do whatever the hell it
feels. So, that they're usually domain
specific.
So, then it must have
security is a big deal.
The tenant tenant policy and what what
is it allowed to do, not allowed to do.
You have to put limits on it.
Like any database administrator will put
limits on
anyone writing an app in any sort of
organization.
It has to be auditable. It has to have
all these nice things.
And they all have to be tracked. And
they have to be tracked in a very
strongly deterministic
database-y kind of way. That's the core
argument.
And so, a database can have any of those
things. Database, operational data,
analytics, workflow state.
So,
in general in production, people will
separate the read retrieval privileges
from
the action and write privileges. The
action and write are the more dangerous
ones.
I won't go into it because it's about
agents and things that are
not important in this talk.
So, what what do these agent workloads
demand?
They demand serverless elasticity.
They should be able to handle bursty
loads. They should be able to handle
multiple
like millions of instances.
Agents can
They could be a swarm of agents.
You can take any that's larger than
let's say 20,000 or 10,000 employees.
And if everyone's given like
full freedom to create agents, and
everyone creates 100 agents, that's
100,000 agents running around on your
database.
So,
they if you need to do any useful work
with it, well, you need the
infrastructure to handle it.
So,
for that, if
this is where the TiDB kind of
architecture comes in. If you have a de-
you have disaggregated compute and
storage,
offer scale to zero,
use HTTP-style connection models.
I'll go to disaggregated compute
storage. So, that's a bit like
MySQL Aurora,
uh
Postgres Aurora, I think. So, your
compute is separate, your storage is
separate, so you
you can have M compute and N
storage, so you can scale them
independently. If you have bursty
connections, you can trivially start up
stateless compute nodes,
and it can handle 100,000, 200,000,
500,000 connections.
And you want to scale your storage,
you can
the modern TiDB uses S3 as a back end.
So, essentially, it's shared storage, so
it can scale
as as much as you want.
I won't go into the details. You can ask
me questions outside. I can answer any
detailed question.
So, enforcing determinism.
LLMs are probabilistic.
Databases will not solve that problem.
They will not make it deterministic in
that sense. But,
the control plane,
the database can help in making that
part of
your application deterministic.
It can enforce strict state transitions
and validation at asset boundaries.
That is the key point.
Because agents can mutate state and they
can do it very fast. So, essentially, if
an agent writes an app, it'll work as
fast as a human writes an app. That's,
you know, like a no-brainer. But, the
agents can make changes on the fly.
That is the key point.
Your app is not a static thing when it
So, some people let's say just let's
take a naive example. Let's say I say I
want to constrain my agent and say I use
placeholders for my SQL query so that
it the ranges are constrained.
What if the agent puts the first key and
last key in a billion table? It's a
table scan.
You know, it's you can't control these
things.
You need to have some limits that are
built into some functionality in the
database
that can put guardrails
or some rules or whatever it is to
Databases don't do this at the moment
because but these are challenges. Like I
mean, it doesn't do that sort of stuff.
It should.
Or other databases should.
So, unified each step and vector.
So, this is the
over thing that TiDB provides.
So, you want strong consistency and you
want
everything in the the kitchen sink in
one database. So, you don't have to have
50 processes running, coordinate all of
them, have
five different experts handling all your
five different systems.
So, essentially, this is the workflow.
This is how people mostly write the
loops around the whole agent thing. You
load context, you do hybrid search, you
do have some compute, and hopefully if
you have an asset commit,
it is more deterministic in the way that
your workflow is externalized.
So, this
is what people are actually doing with
all those previous workflows that I
mentioned.
If this is what we call the
FrankenStack. So, you could have a
separate vector DB, you could have a
different graph DB, a different
relational database,
a document store,
and they're all connected
through some kind of Kafka type type of
thing. They're all eventually
consistent.
And that leads to
many failure modes.
You could have Redis for sessions,
Pinecone
for vectors, Postgres, Snow
Snowflake for whatever pattern matching.
You get eventual consistency. It could
be out of date by 10 minutes, 1 hour, 2
hours.
So, it's
it's a
You could miss
data.
Your agent can't make sense of data that
has
like out of date from two different
sources that it has to tap into.
It could miss I mean, misdiagnosis
basically means it could whatever task
it's working on, it could it just gives
you the wrong results.
So, basically they act on an out of sync
reality. You need it to be cohesive and
consistent.
Then there is a coordination overhead.
So, let's say you in your application
you say, "Okay, I'll add some
I don't know, throw some timestamp
around my
work in the data flow."
Now, you have to stitch it all together.
It's not easy. It's in theory all this
stuff works, in reality none of this
works.
Hey, what happened here?
Okay.
So, once you move all this complexity
or at least into the control plane in
the database. Essentially, SQL is your
language that you talk to your database.
And SQL already gives you all the tools
to retrieve all these
different types of indexes and different
sources of data from within your
database.
It has an optimizer, consistent,
gives you all the latest data. It's
Consistency is basically the core point.
Whereas in the FrankenStack,
essentially, you're doing manual and
imperative,
you're doing all that stuff yourself on
outdated data. That's the key point.
You have to write write it all yourself.
It's complex. The orchestration is very
complex.
And the stitching the results together,
it's I mean, it's really difficult. All
right.
I think it works on small projects. I
can't see how if somebody has some big
project that's doing it like
that, I would be glad to
change my mind on this.
Okay, this is my most important slide.
So, this is the TiDB architecture.
So, let's say you have an agent.
And an agent does transactional OLTP,
analytic, and semantic queries.
Right?
TiDB is a MySQL compatible database. It
has like a single MySQL port that it
listens to.
You can throw in
a semantic search, you can throw in an
analytic, transactional, you can throw
like basically OLTP. Transactional is
OLTP.
And so with analytics or semantic. So,
you can throw any kind of query.
The TiDB SQL layer, the optimizer,
is aware of the different storages, the
row storage and the column store,
which are strongly consistent because it
uses Raft to move data from
the TiKV store to the
column store.
The OLAP and the vector live in TiFlash,
which is the column store.
So, when a query comes in, the optimizer
parses it. It could even be a subquery
of a larger query.
It can do the hash index
whatever point look up here.
And it can do
the aggregation or whatever the subquery
is on TiFlash if that makes more sense
to the cost-based optimizer.
So,
this system will handle
most of what I talked about earlier.
You don't need separate
vector indexes running on another
system, separate
uh OLTP data. You It
I'm aware of two projects that are also
using TiKV
and TiDB. One is called DB9,
which works on top of TiKV. So, it's a
Postgres compatible protocol,
which has a file interface like Plan 9
if people are aware of the operating
system Plan 9. That's how it works.
And you can query it using Postgres
syntax. It's built on top of TiKV.
That's called DB9, and there's Mem9,
which works on
TiDB. So, it allows people to write
agents
using the Mem9
API for for storing state and other
things, but that's different.
So, this system will give you everything
you need in
one database. It can handle millions of
tables.
It can scale this horizontally
to
petabytes.
TiFlash itself can be scaled separately.
It uses an MPP engine
for scaling across TiFlash.
And it does what you want from with full
asset guarantees.
It's an architectural necessity. That's
the assertion
that trying to make here.
It delivers in a single horizontally
scalable
at agent swarm concurrency like lots of
agents rather than the bolted on
vertically scaled core.
So, state then becomes an SQL problem.
Why? Cuz now you have to access your
state through SQL. This is a much easier
way of dealing with things.
So, essentially it stops becoming a
distributed systems problem. You're not
talking to different sources. You're
just talking to one source.
You use standard SQL, write a query,
all your data is gathered from wherever
and it just works.
That's what it means by it becomes an
SQL problem.
There's also an explosion of states.
From one database per application, now
you have
thousands of ephemeral states per task
if like
We've seen thousands of states. So,
these are all the interim states when
some agent is doing some work.
Basically our observation.
So, as I mentioned earlier, this
traditional databases are
really designed by
you know, like a select you.
You have a few databases in in a company
and you have an application talking to a
database, but now that whole game turns
on on its head.
Agent workloads as I've mentioned like
several times are bursty, parallel, and
also they can explore.
For that you need, I forgot to mention
TiDB, you can also do branching.
Let's say you have a production system.
You you see some problem anomaly.
You can branch it in seconds.
And then get your agents to start
running on the branch.
And then once you've explored it on
whatever your production anomaly was.
Okay.
The anomaly was
it will you can throw it away after you
found out. It can do all those things
too for you too. And then agent can
automatically branch it, work on it,
figure out some what whatever it to
figure out and then destroy it.
>> I I was only curious um
cuz I'm more from the enterprise
background.
>> Yeah.
>> I don't see the agent swarm as a problem
yet. So, what kind of use cases are you
seeing for agent swarm? Is this more for
e-commerce type of applications or
>> No, this is
No, we we we don't see it from
enterprise users.
We see it from SaaS companies that have
that are
providing services for agents. That's
where this comes from.
We have not seen it from any enterprise.
>> What kind of SaaS you talking
>> So, Manas Manas has
some very large customers where which
can launch thousands of
agents.
And so, it's like a
like a tail. So, they are very large and
then they have like many like 2 million
clusters are more mostly small.
It's this new thing that people have
loops and agents and constantly hitting
the system. That's where it comes from.
But not enterprise.
So,
if you don't save state, essentially you
need to
go over your whole token cycle and get
back to that state if you if you
remember your prompts or your events or
whatever it is.
So,
Cortex and media state decay.
So, why state decay? So, you need We
don't do this, but we have a project
called Cortex that
is working in that direction.
It was presented, I think, like 2 3
months ago at ICD in Montreal.
Your
data also decays.
For example, your vector index.
You could have contradicting facts
coming in.
So, you need some kind of automatic
maintenance of these things.
So we don't support it at the moment but
we are working towards it. We don't have
it.
That would be state decay.
The database should be able to do it.
It's not a big deal. If it's given some
criteria
to
merge or
merge some vectors or delete some
vectors or age them out it's it's a
trivial thing to do provided there's
some predicate that can select it.
It's not that difficult.
And it can do it automatically.
So
most people use some kind of caching
scheme
if you don't use databases for
retrieving state. If you don't do it it
becomes an O(n^2) problem.
And then as I said you know the the
quality of the data can also go down.
So if it's in the database it's
essentially
your entire state is there and it's
consistent and you can read it and you
can start from where you stopped or you
can go one step back and start from
there and branch out from there. You can
do all these things.
So then maintaining the state becomes a
first class job for a database.
So you need
So when a database writes states you
want it's like typical transaction. You
go from
doing some intermediate steps and then
you write your final state. You don't
want to keep any of those
ephemeral data to keep your data
compact. So you can
get rid of that using
like normal transactions. There's
nothing special you have to do. You're
guaranteed consistency.
Deduplication. This is what I was
talking about.
A database should be able to do this
quite easily.
None of them do it but it's not that
difficult once everything moves into the
single database.
The compaction is the part that Tirex is
we're working on with Tirex.
Yeah, supersede old data. I mean, these
are all things that a database can quite
easily do given some kind of predicate
for selection selecting whatever some
criteria for just going through your
data
and doing the mechanical work.
These are huge benefits, especially if
you have very large amount of these
vector and matrix.
So, you need database grade
properties
in order to write robust agents. That's
basically it.
So,
one important point, so
agents, what we found is
they resist simple partitioning. So, the
classic way of scaling anything in the
like for the past 15 16 years or 20
years is
the classic divide and conquer. You find
some partition key, you shard your data
horizontally, some user ID or something
that is stable,
and that's how you partition your data.
With agents, it's actually
a little bit difficult.
What do you partition on?
So, what most that this this is why
many companies or at least I can speak
for one,
they have millions of clusters
to do it.
But there's no easy way to partition it.
Like a there's no universal key. It's a
you know, there may be some in some
context you could come up with
something, but there's you can't
generalize this.
So, you need a system
where you don't need one of these
partitioning keys to shard your data.
It should
automatically shard it.
So, you can throw as much data as you
want at it.
The database should be able to shard the
data automatically
up to whatever petabytes or hundreds of
terabytes. TiDB does that for you
automatically.
So, that is one
huge strength of TiDB. You don't need
any special keys to partition your data.
You just throw data at it and it'll
work.
Elasticity. So, you want to leverage the
cloud. A database should be able to
absorb any amount of load that you throw
at it. Not by default. You give it
like in practice, people have to give us
like a 24-hour notice usually and we can
scale it up.
Or we will have the
it's easy for us to scale it.
See, a database gives you that. So, you
can throw whatever load you want at it
and it'll work.
The strong consistency
without ETL.
Gone over that.
Authentication. So, the database now
takes over the whole authentication
business. People already have existing
systems authenticating your regular
users and
whoever connects to the database. You
want to leverage that.
You don't want to have a connection
authentication against like five systems
that you connect to.
It's one It's centralized in one place.
And this is a huge deal in most
companies. It's not a small thing.
There's a whole multi-billion dollar
businesses around IAM.
You want full file system storage
uh integration for storing all different
kinds of data.
There are all kinds of other security
issues. If you're writing to raw file
systems,
workflow orchestration,
the database can help you. You can store
interim state in your
your agent can store interim
can store incremental states and figure
out what to do with long-running
uh workflows.
So,
this is why
most databases are currently failing.
Massive multi-tenancy issues.
So, these are problems that are not
solved yet. And um
we've looked at them. We haven't got
answers for all of them. We've got
answers for at least one of them.
Like for example, let me the schema
duplication is an interesting one.
Let's say your agents are creating
tables that are quite similar. You have
it
it's creating 10,000 uh different
like schemas or databases as they call
them in MySQL.
But, the table definitions are similar.
So, your metadata your data dictionary
becomes huge.
And so, is there a way that you can
decouple the identity of the table
metadata from
the metadata itself? Which means
I only use the metadata for
deserializing and serializing the rows.
Otherwise, it could be called whatever.
The identity is not attached to it.
So, my metadata, if I have billions of
tables or hundreds of millions of
tables, my metadata still stays small.
And becomes almost like a copy-on-write.
So, if
one of the other agents or what in one
of the other schemas, somebody changes
that table, then
it depends on new entry and essentially
it becomes a copy-on-write.
Cuz now, it cannot be serialized and
deserialized from the other tables.
So, these are kind of things that you
can do when you're dealing with these
kind of unpredictable kind of loads.
So, when you have
very large number of tables,
you want to solve This is a problem that
we mostly solve.
You simplify the schema by making it a
simple MBCC over the metadata table.
Rather than if you're familiar with
Postgres or MySQL, having a catalog and
data dictionary, then you have this data
dictionary metadata logs. So,
try creating
50,000 tables in PostgreSQL or MySQL and
see how long it takes.
It is mostly around the metadata logs.
It is not the file creation actually.
Like in MySQL a table space is one file
that's already created. So, if it's a
shared table space, creating a table
physically is not a big deal.
But the metadata is a big deal.
If you're doing these bursty loads and
you're creating lots of tables, dropping
them constantly, it's a challenging
problem at that kind of scale.
So, we you need to rethink these kind of
things for databases.
These are
our current
problems. These are not future problems
for us.
And to a
we've solved it to about 30 million
tables.
But our target is now like a billion
tables. Can we do it?
So, one way is like classic, you make it
immutable so that it's versioned and
append-only.
Okay, so this is what I was talking
about branching. So, you have a
copy-on-write branching.
So, you want to test some hypotheses,
you want to
test some production anomaly, just
create a branch, work on it,
do whatever you have to, and throw it
away.
The database gives this
out of the box.
The key takeaways.
The workloads are changing. They're
or at least they're changing for this
particular aspect. There is the
traditional and then there is this new
thing that's come around.
It's the
third thing, I don't know.
So, it must support bursty loads, it
must support lots of tables, lots of
instances, elasticity.
Identity becomes a huge problem with
agents.
They can spawn other agents.
Do they inherit that same identity or
some sub identities? So, all that sort
of stuff are real problems
that are I have not seen any big good
solution for those.
The scalability is now redefined.
Do you think that SQL should be the
language of choice for everything? A
unified database architecture, a single
source of truth, strong consistency.
These are things that people should take
for granted writing an application like
for any application but agents it
becomes even more critical.
Writing agents deterministically is
in my eyes impossible. But at least
mitigate some of the complexity.
Get rid of many of the challenges that
you will face if you didn't have any
like strong consistency in particular.
So, where is where are we and where are
we
So, intent engineering.
So, these are
it is shifting more from how to define
the whole environment within which the
agent has to be written to more
orchestration and database architecture
becoming the core surface in which it is
more controlled, contained.
That is essentially what that is meant
to signify.
And then again, autonomous agents and
then the sub agents
they can create untraceable state
changes.
You need
different kinds of authentication
models. I haven't seen anything but
these are problems that we see.
The And the biggest problem is
proving the deterministic outcomes from
non-deterministic long-running agent
workflows. This is an open problem. Uh
enterprise scale I've just put it there
but it's an open problem. It's got
nothing to do with enterprise.
But
there is good news.
So, 40% of enterprises according to
Gartner
will embed task-specific AI agents by
the end of 2026. so it's a growing
industry. How effective and how much it
grows, I don't know.
But we see a lot of interest mainly from
SAS
uh users, also from
like Kimi. Kimi's become very popular.
Kimi runs on TiDB.
Uh Deep Seek runs on TiDB.
Uh who else? There are plenty of
companies like this that run on TiDB. So
we see a lot of
these kind of things that I talked about
from these kind of SAS AI
uh
agent type of companies.
Any questions?
Oh, thank you.
Anyone? Yeah, please.
>> Hello.
Um do you also are you also considering
making it like multi-modal?
>> Who's speaking here?
>> Here. Here.
>> Okay.
>> Yeah, I I'm just wondering you got like
both columnar or level like way of
accessing the data. I'm I'm just
wondering
do you see the future also as something
like multi-modal as in different type of
data, files, text, uh images, all these?
>> Yes, that is
>> part of it.
>> So DB9 does all that out of the box.
That's built on top We don't do it. DB9
does it on top of TiDB.
It has a Postgres-like interface.
TiDB at the moment doesn't do it.
>> Okay.
>> It only supports a standard MySQL
interface.
>> Okay.
Thanks. Thank you.
So uh since you mentioned that uh I
think SAS is the primary you know
customer for TiDB.
>> They're not the primary customer. They
are
>> one of the main use cases, right?
Yeah, so I I was just curious in from
that regard whether you know TiDB has
anything out of the box for multi-tenant
fairness
as well as like I think the other
question I had was like you mentioned
that you have some of these open source
models
running inside TiDB
>> No, no, no, no, on top of TiDB.
>> Can you maybe expand on that like what
that means and like what is the benefit
of doing that?
>> Okay, there are two three questions
there. So, the first one is
Are there some ways of handling
multi-tenancy? Yes, so TiDB
has a thing called resource control.
So
with resource control what you works at
the user level
connection level and statement level.
So, you essentially have a budget. So,
when you're you're familiar with Amazon,
they have some kind of resource unit.
So, you can budget for so many resource
units and so read will have let's say
right will have one resource unit, read
will have 64 CPU consumption will have
based on whatever 10 you
spend cycles or whatever it is.
You'll have certain number of RUs. So,
you can say this query should and then
you have a bursty mode that if the
system is free, you can just go for it.
Rather than because you're stalled
because you don't have resources.
And so, TiDB has a fairly sophisticated
infrastructure around it. So, you can
say okay, I'm going to run my test load
compute the total number of RUs used
and then budget
using that.
It has fairly sophisticated
multi-tenancy resource control.
So, that's not an issue. The second part
>> including with an auto scaler that can
scale up compute based on demand. Is
that something that's
>> because the problem with auto scale you
can it's semi like that.
You can set a budget. But if if if you
get a huge bill at the end of the month,
you're not going to like the auto
scaling too much.
So, but if you have a budget
yes, it can do do for you because that
is the that is the more operational side
of TiDB. So it essentially keeps a pool
of hotspot nodes.
And then if you budget it for X number
of compute nodes
and this is in our TiDB X so it uses S3.
So that's a shared storage.
So firing up a TiKV is essentially raft
and memtable.
Whereas firing up an SQL node for
connection or whatever it is is just
like instant.
So yeah it has all the goodies like
that. That's not the and that is why all
these other models that you that's why
they use it. They use TiDB X.
Sorry, somebody else?
>> Yeah, you talked about branching and
I don't have much context on Manos.
Um
after the branching and exploration is
done, is the app deployed onto the same
database?
>> Yeah yeah it's the same. Think of it
like point in time recovery with a clone
from there that is spun up.
Uh it's like a think of it as copy on
write.
>> Got it. So in that case right, so how do
we manage the resource constraints? For
example you talked about
>> instance that's created from that point
and it's managed just like an
independent instance that is just
started up.
>> I see the fork is on the storage side.
>> Yes yes yes.
>> Got it. Thanks.