チャットボットが顧客のデータをクエリする基盤としてMotherduckが良い
Motherduck is 何
duckdbをCloud SaaSにした企業、製品
ボットが自由にクエリするデータソースには以下のような理想が求められている
テナントレベルのデータの隔離
特にマルチテナントなデータベースの構成にしている場合、ボットがちょっとでもwhere句をすっぽ抜かすとインシデント
コンピュートの隔離
つまるところメッチャボットがクエリしても他のテナント可用性に影響が無いようにしたい
1つのポスグレインスタンスに同居とかだと難しい
Motherduckの機能: Service Account
デフォルトでService Accountが作成したデータしかクエリができない仕様
=> ボットがクエリして良いデータだけをService Accountに入れるだけ
コンピュートはService Account毎に独立している
つまり顧客に対応するService Accountにデータを入れ、ボットに厳密な認証からDeriveされたService Accountの認証トークンをルーティングするだけで良い