---
title: AIアプリのDBはTiDBだけでいい！3種のDBをTiDB1本に
tags: 
author: [最上土川](https://www.docswell.com/user/mogami)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ5MWWMPJ4.jpg?width=480
description: ServerlessDaysTokyoにて発表したスライドです。
published: September 19, 26
canonical: https://www.docswell.com/s/mogami/KN782L-tidb
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJ5MWWMPJ4.jpg)

AIアプリのDBはTiDBだけでいい！3種のDBをTiDB1本に
kaiwa・Tataraの開発と、TiDBへのデータ集約
Tokyo 2026
株式会社Livetoon 土川 敦也
1
Livetoon, Inc. all rights reserved


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9E29QQ9Z7R.jpg)

登壇者紹介
土川 敦也（つちかわ あつや）
ハンドルネーム：最上土川
株式会社Livetoon 開発マネージャー
芝浦工業大学 修士2年生 HCI × AIの研究
2020年頃（大1）からスタートアップ界隈で働く
2023年、とある企業でAIキャラクター開発をする
2024年12月にLivetoonへ転職
フロントエンドエンジニアで入ったはずが、
Unity、バックエンド、インフラ、AIモデル開発もやっている
2
Livetoon, Inc. all rights reserved


# Page. 3

![Page Image](https://bcdn.docswell.com/page/D7Y4WW4NEM.jpg)

kaiwa
kaiwa（かいわ）
初リリース：2025年4月
App Store・Google Playで配信中
「ともだちAI」として気軽に
お話してくれるAIキャラクターアプリ
個性豊かな3Dキャラクター
× あなたを覚える記憶システム
× 低遅延なSTS基盤
3
Livetoon, Inc. all rights reserved


# Page. 4

![Page Image](https://bcdn.docswell.com/page/VENY99YVJ8.jpg)

Tatara
Tataraでできること
• VRMモデルで、見た目を設定
• 声・性格・口調・役割を設定
• Codex / GitHub Copilotの進捗を会話で確認
AIエージェントを、画面の向こうから
「隣にいる存在」へ。
4
Livetoon, Inc. all rights reserved


# Page. 5

![Page Image](https://bcdn.docswell.com/page/Y79P22PVE3.jpg)

Tataraで話してみる
キャラクターとの会話デモ
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/G78D55D47D.jpg)

STSは、音声に対して音声で応答する
STS
Speech to Speech
音声で話しかけ、
音声で応答を受け取る
kaiwa・Tataraでは、複数のモデルを組み合わせて実現する
Livetoon, Inc. all rights reserved
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L7LMYYMVJR.jpg)

会話の応答には、モデルとデータの両方が必要
今回の構成：STT・LLM・TTSを組み合わせる
STT
Speech to Text
LLM
Large Language Model
テキスト
音声を文字へ
応答のテキストを生成
応答に使う
会話を支えるデータ
テキスト
TTS
Text to Speech
文字を音声へ
会話を残す
キャラクター設定
会話履歴
長期記憶
7
Livetoon, Inc. all rights reserved


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EMYNNYNEW.jpg)

会話の今を支えるデータ
誰が、誰と、どんな流れで話しているかを扱う
ユーザー・キャラクター
• ユーザー情報
• キャラクター設定
• 性格・口調・プロンプト
直近の会話履歴
会話履歴の圧縮
• 今のセッションの発話
• 話題の流れ
• 応答に必要な文脈
• 長いセッションの履歴
• 一部を圧縮して扱う
• 会話の継続を支える
8
Livetoon, Inc. all rights reserved


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PER9DD94J9.jpg)

過去の情報は、記憶の種類に応じて取り出す
セッションメモリの探索と、情報メモリのベクトル検索
セッションメモリ
• 過去の会話を要約
• 会話セッション単位
• エージェントで探索
ユーザー情報メモリ
• ユーザーへの理解
• ユーザー情報をまとめる
• ベクトルで検索
キャラクター情報メモリ
• プロンプトを補う設定
• キャラクターを構築
• ベクトルで検索
9
Livetoon, Inc. all rights reserved


# Page. 10

![Page Image](https://bcdn.docswell.com/page/P7XQ11QZEX.jpg)

kaiwaの初期構成 — AWS内に2種類のDB
自社AWS環境
外部マネージドサービス
モデル推論環境：ECS ＋ T4 GPU
STT
kaiwa
アプリ
Backend API
ALB
ECS
Valkey
TTS
記憶のベクトル検索
Aurora PostgreSQL
db.t4g.large ／ 2AZ
DocumentDB
db.r6g.large ／ 2AZ
LLM推論 API
10
Livetoon, Inc. all rights reserved


# Page. 11

![Page Image](https://bcdn.docswell.com/page/37K9229V7D.jpg)

kaiwaの初期は、役割ごとに3種類のDB
SQLとNoSQLの良さを組み合わせた構成
Aurora PostgreSQL
• ユーザーデータ
• キャラクター情報
• プロンプトなど
DocumentDB
• 会話セッション
• 会話履歴
• 会話・記憶データ
Qdrant
• 記憶のベクトル
• 記憶データへの参照
• 類似する記憶の検索
11
Livetoon, Inc. all rights reserved


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LJ3W449QJ5.jpg)

実際に負担になったのは、費用と処理の複雑さ
DBを分けると、一つの機能でも複数のDBをまたぐ
DBコスト
横断する処理
• 複数のDBを稼働させる費用
• 利用規模に対する負担
• キャラクター情報はPostgreSQL
• 会話セッション・履歴はDocumentDB
• 横断した検索のコストが増える
12
Livetoon, Inc. all rights reserved


# Page. 13

![Page Image](https://bcdn.docswell.com/page/8JDKQQGWEG.jpg)

NewSQLという選択肢
TiDBで、関連するデータを同じ基盤へ
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/VEPKLL3X78.jpg)

TiDBは、MySQL互換の分散SQLデータベース
SQL・トランザクションと、分散による拡張性を両立する
アプリからの使い方
内部の仕組み
• SQLでデータを操作
• 複数ノードでデータを扱う
• トランザクションで更新
• 負荷に応じて拡張する
• MySQL向けの接続方法を利用
• 冗長化で可用性を支える
14
Livetoon, Inc. all rights reserved


# Page. 15

![Page Image](https://bcdn.docswell.com/page/27VVQQ437Q.jpg)

TiDBの基本構造
TiDB
SQLの解析・実行
TiKV
行データを分散保存
TiFlash
列指向のレプリカ
PD
クラスタを管理
出典：PingCAP「分散SQLデータベースTiDBのリアルな課題と運用ノウハウ」p.11
Livetoon, Inc. all rights reserved
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/5JGLWW1Y7L.jpg)

MySQL互換で、開発資産を活かせる
アプリの構造を活かし、EF Coreの接続プロバイダーを切り替える
移行前
TiDBへ移行後
ASP.NET Core アプリケーション
ASP.NET Core アプリケーション
Entity Framework Core
Entity Framework Core
PostgreSQL向け
プロバイダー
MongoDB向け
プロバイダー
MySQL向けプロバイダー
Aurora PostgreSQL
DocumentDB
TiDB（MySQL互換）
保存済みデータの変換・移行は、プロバイダーの切替とは別に実施
Livetoon, Inc. all rights reserved
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/47QY33D6EP.jpg)

関連するデータを、同じSQL基盤に置く
アプリケーション
関連する情報を、同じDBで検索・取得
SQL
キャラクターとの
過去の会話を探す
キャラクター情報
会話セッション
会話履歴
設定・性格・口調
誰との、どの会話か
実際の発話と流れ
DBをまたいで組み合わせていた処理を、同じ基盤へ
17
Livetoon, Inc. all rights reserved


# Page. 18

![Page Image](https://bcdn.docswell.com/page/KE4W11ZMJ1.jpg)

TiDBで、記憶の保存とベクトル検索を扱う
保存しておいた記憶を、会話の内容から検索する
記憶を保存するとき
記憶本文を用意し、
埋め込みモデルでベクトルを生成
会話から検索するとき
今の話題をベクトル化し、
関連する記憶を応答に使う
本文 ＋ ベクトル
TiDB
記憶本文
検索用のベクトル
本文のベクトル
近いベクトルを検索
関連する記憶本文
本文とベクトルを、同じDBに保存してSQLで扱える
Livetoon, Inc. all rights reserved
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/L71YGGRYJG.jpg)

TiDB Cloudで、管理されたDBを使う
用途と規模に合わせて、4つのプランから選ぶ
基盤の運用を任せ、使い慣れたSQLで接続する
TiDB Cloud
TiDB Cloud
TiDB Cloud
TiDB Cloud
無料枠から始める
本番向けの基盤
大規模・重要な処理
専用クラスタを使う
• 負荷に応じて拡張
• 高度なセキュリティ
• 複数AZで可用性を確保
• 予測しやすい負荷に
• 高度な要件に対応
• 構成を選んで運用
Starter
• 無料枠を用意
• 利用量に応じた課金
• ゼロまで縮小可能
Essential
Preview
• 計算資源を自動拡張
• バックアップを用意
• 使用量に応じた課金
Premium
Preview
出典：PingCAP公式プラン紹介・配色（2026年9月17日確認）
Dedicated
19
Livetoon, Inc. all rights reserved


# Page. 20

![Page Image](https://bcdn.docswell.com/page/G7WGKK11E2.jpg)

TiDB X — クラウドを前提にした新しい構造
出典：PingCAP「The Making of TiDB X: Origins, Architecture, and What’s to Come」
Livetoon, Inc. all rights reserved
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4JZLZZPXE3.jpg)

kaiwaのTiDB移行後 — SQL・会話データを集約
AWS
自社VPC
外部サービス
モデル推論環境
ECS ＋ T4 GPU
STT
kaiwaアプリ
TiDB Cloud
管理領域
TTS
Backend API
ALB
記憶のベクトル検索
構造化データ
会話・記憶
ECS
Valkey
プライベート接続
LLM推論 API
21
Livetoon, Inc. all rights reserved


# Page. 22

![Page Image](https://bcdn.docswell.com/page/YE6WZZMPEV.jpg)

EF Coreを活かし、アプリ側の変更を抑えた
まずデータを移し、その後に処理を整理する
今回の移行で行ったこと
• .NET / EF Coreを使った構成を活用
• MySQL向けの接続プロバイダーへ変更
• 完全移行後、2つのDBを前提にした処理を統合
• 取得処理・クエリを最適化
アプリの資産を活かし、接続先と処理を整理
22
Livetoon, Inc. all rights reserved


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GE5MWWZPE4.jpg)

kaiwaの移行手順 — 検証から本番切替まで
stgで2週間検証し、直近データを用意してから本番を切り替える
1 stg
2 2週間
3 prod準備
4 切替当日
本番に先立ち、検証環境の
DBを切り替える
stg環境で2週間、問題が起
きないか確認する
参照されやすいデータを
TiDB向けに変換し、本番
用DBに事前投入
prod環境のサービスを一
時停止し、接続先をTiDB
へ変更
stg環境を
TiDBへ移行
移行漏れ・
性能を検証
直近データを
先に移行
一時停止して
DBを切り替える
23
Livetoon, Inc. all rights reserved


# Page. 24

![Page Image](https://bcdn.docswell.com/page/9729QQRZJR.jpg)

kaiwaの移行手順 — 運用しながら移行を完了
切替後も過去データの移行とクエリ最適化を進めた
5 切替後
6 1週間後
7 2週間後
サービスを運用しながら、残る過去デ
ータをTiDBへ移す
prod環境の移行から1週間後に実施
prod環境の移行から2週間後まで調整
を進めた
過去データもすべて移行
旧DBを削除
クエリ最適化をほぼ完了
24
Livetoon, Inc. all rights reserved


# Page. 25

![Page Image](https://bcdn.docswell.com/page/DJY4WWDN7M.jpg)

DBの集約は、運用コストの削減にもつながった
比較する対象は、Aurora PostgreSQL・DocumentDBとTiDB
移行前
• Aurora PostgreSQL：db.t4g.large
• DocumentDB：db.r6g.large
• 両DBを2AZにまたがって構築
移行後
• TiDBの無料枠を活用
• 利用量に応じた費用
比較対象にQdrantの費用は含まない
25
Livetoon, Inc. all rights reserved


# Page. 26

![Page Image](https://bcdn.docswell.com/page/V7NY996VE8.jpg)

TataraでTiDB1本に
会話データも、ベクトル検索も
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/YJ9P22LV73.jpg)

Tataraの構成 — ベクトル検索までTiDBへ
自社AWS環境
外部マネージドサービス
モデル推論環境：ECS ＋ T4 GPU
STT
TTS
TiDB Cloud
データ ＋ ベクトル検索
Tatara
アプリ
Backend API
ALB
ECS
LLM推論 API
ECS・GPU用ECS・ALB ＋ TiDB Cloud・Cerebrasで構成。
27
Livetoon, Inc. all rights reserved


# Page. 28

![Page Image](https://bcdn.docswell.com/page/GJ8D55X4JD.jpg)

ベクトル検索は、SQLをコードに直接書く
MySQL互換でも、TiDB独自のベクトル型・関数は別対応
ユーザー情報・会話履歴
EF Core / LINQ
MySQL向けプロバイダー
ベクトル検索
コード内に記述するSQLの例 · SQL
1 SELECT id, content
2 FROM memories
3 ORDER BY VEC_COSINE_DISTANCE(
4 embedding, @query_vector)
5 LIMIT 10;
28
Livetoon, Inc. all rights reserved


# Page. 29

![Page Image](https://bcdn.docswell.com/page/LJLMYY8VER.jpg)

10万件のベクトル検索を、東京で比較
日本語の疑似記憶10万件 × ruri-v3-70m（384次元）／上位10件
近似検索（通信込み）
中央値 p50
p95
Recall@10
TiDB Cloud：HNSW
12.91 ms
17.37 ms
93.1%
Qdrant：HNSW（ef=64）
7.82 ms
12.62 ms
91.8%
Recall@10：全件を正確に検索した上位10件との一致率。
初回Mac→東京の記録／各300回・逐次／絞り込みなし・埋め込み生成を除外
TiDB：Starter／Qdrant：c7g.xlarge・4 vCPU / 4 GiB・SSH経由。構成・検索精度に差あり。
Livetoon, Inc. all rights reserved
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/47MYNN6N7W.jpg)

TiDBを用いたシステムのローカル開発環境
ローカルで動かすものは、検証したい機能で決まる
MySQL互換の機能だけ使う
• DockerでMySQLを起動すれば十分
• 一般的なSQL・ORMの開発を進める
TiDB固有の機能も使う
• ベクトル検索などはTiDBで検証
• TiUPやコンテナ構成で起動
• TiDB・TiKV・TiFlash・PDなどが動く
• 複数の構成要素が必要で、開発機には重い
30
Livetoon, Inc. all rights reserved


# Page. 31

![Page Image](https://bcdn.docswell.com/page/P7R9DDP4E9.jpg)

開発者ごとに、TiDB Cloud Starterを用意
ローカルではアプリを動かし、DBは各自のクラウド環境へ
開発者A 専用
開発者B 専用
ベクトル検索も、stgへ進む前に確認できる
Livetoon, Inc. all rights reserved
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/PJXQ113Z7X.jpg)

TiDBで、音声AIのデータ基盤をまとめる
kaiwa 初期
PostgreSQL
kaiwa 移行後
2つを集約
Tatara
新規開発で
DocumentDB
DBをまたぐ処理と費用を削減
設定・履歴・記憶
ベクトル検索も
データの保存・検索を一本化
日々の開発も、各自のTiDB Cloudで。
32
Livetoon, Inc. all rights reserved


# Page. 33

![Page Image](https://bcdn.docswell.com/page/3JK922YVJD.jpg)

皆さん、TiDBに関して
興味が湧いていますよね？
33
Livetoon, Inc. all rights reserved


# Page. 34

![Page Image](https://bcdn.docswell.com/page/LE3W44VQE5.jpg)

シルバーウィークで
TiDBを触ろう！
34
Livetoon, Inc. all rights reserved


# Page. 35

![Page Image](https://bcdn.docswell.com/page/8EDKQQ8W7G.jpg)

まずはTiDB Cloudの
アカウントを作成して…
35
Livetoon, Inc. all rights reserved


# Page. 36

![Page Image](https://bcdn.docswell.com/page/V7PKLL8XJ8.jpg)

不要！
そう、TiDB Zeroならね
36
Livetoon, Inc. all rights reserved


# Page. 37

![Page Image](https://bcdn.docswell.com/page/2JVVQQN3JQ.jpg)

TiDB Zero：アカウント不要で、実際のDBを試せる
TiDB Zero
30日
登録・クレジットカード不要
試作・検証用の一時DB
APIで作成して、SQLですぐ接続
MySQL互換 ＋ ベクトル検索
継続利用は、期限内に
TiDB Cloudへ引き継ぎ
https://zero.tidbcloud.com/
利用枠・期限あり。継続する場合はアカウントを作成して引き継ぐ。
Livetoon, Inc. all rights reserved
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/5EGLWWKYJL.jpg)

作りたいものを、エージェントに頼む
「〇〇なシステムを、
DBにTiDB Zeroを使って作って」
https://zero.tidbcloud.com の手順で、DB作成から進めて。
Livetoon, Inc. all rights reserved
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/4JQY33N67P.jpg)

Livetoon, Inc. all rights reserved


