LanceDB Storage
LanceDB ストレージ実装は、従来のデータストレージとベクトル操作の両方を得意とする LanceDB データベースシステムを使用した高性能ストレージソリューションを提供します。
インストール
npm install @mastra/lance
使用方法
基本的なストレージの使用方法
import { LanceStorage } from "@mastra/lance";
// Connect to a local database
const storage = await LanceStorage.create("my-storage", "/path/to/db");
// Connect to a LanceDB cloud database
const storage = await LanceStorage.create("my-storage", "db://host:port");
// Connect to a cloud database with custom options
const storage = await LanceStorage.create("my-storage", "s3://bucket/db", {
storageOptions: { timeout: "60s" },
});
パラメータ
LanceStorage.create()
name:
string
ストレージインスタンスの名前識別子
uri:
string
LanceDBデータベースに接続するためのURI。ローカルパス、クラウドDB URL、またはS3バケットURLを指定できます
options?:
ConnectionOptions
タイムアウト設定、認証などのLanceDBの接続オプション
追加の注意事項
スキーマ管理
LanceStorage実装は、スキーマの作成と更新を自動的に処理します。MastraのスキーマタイプをApache Arrowデータタイプにマッピングし、これらはLanceDBで内部的に使用されます:
text
,uuid
→ Utf8int
,integer
→ Int32float
→ Float32jsonb
,json
→ Utf8 (シリアル化)binary
→ Binary
デプロイメントオプション
LanceDBストレージは、異なるデプロイメントシナリオに対して設定できます:
- ローカル開発: 開発とテスト用にローカルファイルパスを使用
/path/to/db
- クラウドデプロイメント: ホストされたLanceDBインスタンスに接続
db://host:port
- S3ストレージ: スケーラブルなクラウドストレージ用にAmazon S3を使用
s3://bucket/db
テーブル管理
LanceStorageは、テーブル管理のためのメソッドを提供します:
- カスタムスキーマでテーブルを作成
- テーブルを削除
- テーブルをクリア(すべてのレコードを削除)
- キーによるレコードの読み込み
- 単一およびバッチレコードの挿入