> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # libSQLストレージ [libSQL](https://docs.turso.tech/libsql)は、ローカルとリモートの両方へのデプロイに対応する、オープンソースのSQLite互換データベースです。メッセージ履歴、Workflowのスナップショット、トレース、Evalスコアの保存に使用できます。 セマンティックリコールや従来のRAGなどでベクトルを使用する場合は、埋め込みとベクトル検索を扱う[libSQL Vector](https://mastra.zisheng.pro/ja/reference/vectors/libsql)を使用してください。 ## インストール ストレージProviderは別パッケージとしてインストールする必要があります。 **npm**: ```bash npm install @mastra/libsql@latest ``` **pnpm**: ```bash pnpm add @mastra/libsql@latest ``` **Yarn**: ```bash yarn add @mastra/libsql@latest ``` **Bun**: ```bash bun add @mastra/libsql@latest ``` ## 使用方法 ```typescript import { LibSQLStore } from '@mastra/libsql' import { Mastra } from '@mastra/core' const mastra = new Mastra({ storage: new LibSQLStore({ id: 'libsql-storage', url: 'file:./storage.db', }), }) ``` Agent単位のファイルストレージ: ```typescript import { Memory } from '@mastra/memory' import { Agent } from '@mastra/core/agent' import { LibSQLStore } from '@mastra/libsql' export const agent = new Agent({ id: 'example-agent', memory: new Memory({ storage: new LibSQLStore({ id: 'libsql-storage', url: 'file:./agent.db', }), }), }) ``` > **警告:** ファイルストレージは、一時ファイルシステムを使用するサーバーレスプラットフォームでは動作しません。サーバーレス環境にデプロイする場合は、[Turso](https://turso.tech)または別のデータベースエンジンを使用してください。 リモートデータベースを使用する本番環境: ```typescript storage: new LibSQLStore({ id: 'libsql-storage', url: 'libsql://your-db-name.aws-ap-northeast-1.turso.io', authToken: process.env.TURSO_AUTH_TOKEN, }) ``` ローカルでの開発とテストでは、データをメモリに保存できます。 ```typescript storage: new LibSQLStore({ id: 'libsql-storage', url: ':memory:', }) ``` > **警告:** インメモリストレージは、プロセスが変わるとリセットされます。開発用途にのみ適しています。 ## オプション **url** (`string`): データベースURL。インメモリデータベースには:memory:、ファイルデータベースにはfile:filename.db、リモートストレージにはlibSQL接続文字列(例: libsql://your-database.turso.io)を使用します。 **authToken** (`string`): リモートlibSQLデータベースの認証トークン。 ## 管理対象のテーブル このストレージ実装は、通知受信ボックスのレコードと配信メタデータ用の`mastra_notifications`を含む、コアストレージテーブルを自動で作成します。 `LibSQLStore`では、`getStore('notifications')`を介して通知ストレージを利用できます。 ## 初期化 ストレージをMastraクラスに渡すと、[コアスキーマ](https://mastra.zisheng.pro/ja/reference/storage/overview)を作成するために`init()`が自動で呼び出されます。 ```typescript import { Mastra } from '@mastra/core' import { LibSQLStore } from '@mastra/libsql' const storage = new LibSQLStore({ id: 'libsql-storage', url: 'file:./storage.db', }) const mastra = new Mastra({ storage, // init() called automatically }) ``` Mastraを介さずにストレージを直接使用する場合は、`init()`を明示的に呼び出します。 ```typescript import { LibSQLStore } from '@mastra/libsql' const storage = new LibSQLStore({ id: 'libsql-storage', url: 'file:./storage.db', }) await storage.init() // Access domain-specific stores via getStore() const memoryStore = await storage.getStore('memory') const thread = await memoryStore?.getThreadById({ threadId: '...' }) ``` ## Observability libSQLはObservabilityをサポートしており、ローカル開発に適しています。デバッグ中にすぐ確認できるよう、`realtime`[トレース戦略](https://mastra.zisheng.pro/ja/docs/observability/integrations/exporters/mastra-storage)を使用してください。 トレース量が多い本番環境では、[PostgreSQL](https://mastra.zisheng.pro/ja/reference/storage/postgresql)または[複合ストレージ経由のClickHouse](https://mastra.zisheng.pro/ja/reference/storage/composite)の使用を検討してください。