検索・管理用データの構造
概要
DuckDBには、利用者が読む本文に加えて、検索モデルの対応、古いベクトルの退避、記憶の状態、旧保存領域からの移行などを管理する表もあります。これらの件数を、そのまま現在の記憶数・資料数に足すことはできません。
ベクトルの出所と履歴
embedding_provenance
検索用ベクトルがどの条件で作られたかを記録します。entity_table と entity_id が対象テーブルと行、provider / model が作成に使ったプロバイダー・モデル、dimensions が次元数、embedding_version が処理版、identity_key が条件を識別するキーです。
配列の長さが同じだけでは、検索に混ぜて使えるとは限りません。 モデルや版を含む条件が合うかを確認するための表です。本文・資料自体の保存とは別で、過去の記録や未作成のベクトルでは対応行がない場合もあります。
SELECT entity_table, provider, model, dimensions, embedding_version,
COUNT(*) AS row_count
FROM embedding_provenance
GROUP BY entity_table, provider, model, dimensions, embedding_version
ORDER BY entity_table, row_count DESC;
embedding_vector_archive
検索モデルの切替や再作成の際、出所が不明、または新しい条件と合わない行の以前の状態を退避する表です。現在の記憶本文を見る最初の入口は memory、資料本文は project_source_content です。この表の行数が多いことだけで、現在の記憶がその分増えた、重複している、または壊れているとは判断できません。
| 列 | 意味 |
|---|---|
id | 退避した履歴1件のID |
entity_table | 退避元の表。例:memory、memory_segment、project_source_chunk |
entity_id | 退避元の行ID。同じIDの複数の履歴を持ち得る |
identity_key | 以前のベクトル条件の識別。NULL は記録されていない・分からない状態 |
row_json | 以前の行をJSON文字列にしたもの。ベクトルだけでなく本文などを含む場合がある |
archived_at | 退避した日時 |
owner_id | 記憶IDや資料IDなど、親の単位をたどる識別子。行の種類により対象が変わる |
退避された履歴件数と、履歴を持つ元の行の数を比べる例です。
SELECT entity_table,
COUNT(*) AS archived_rows,
COUNT(DISTINCT entity_id) AS source_rows
FROM embedding_vector_archive
GROUP BY entity_table
ORDER BY archived_rows DESC;
row_json はVARCHAR型の文字列です。表のプレビューで途中まで表示されても、原データがその長さに切り詰められたとは限りません。長いJSON全体を一度に表示せず、必要な行を絞って確認します。MyMemの再索引は、この履歴をすべて削除する操作ではありません。記憶・資料を明示的に削除するときは、関連する退避データも削除対象になります。
記憶の状態と優先度
| テーブル | 役割・MyMemで使う場所 |
|---|---|
memory_lifecycle_stats | memory_id に対する stats_json。AI記憶の状態・優先度・利用回数・固定・保護・アーカイブなど |
memory_lifecycle_meta | key / value 形式の処理管理情報。状態の更新処理などに使う |
stats_json は lifecycleScore、lifecycleState、retrievedCount、injectedCount、lastRetrievedAt、lastInjectedAt、isPinned、isProtected、manualArchive、duplicateOfMemoryId、isDeleteCandidate、scoreBreakdown などを含みます。
isDeleteCandidate は削除候補の判定で、すでに削除したという意味ではありません。古い記憶では初期状態や未記録の項目があり、すべての memory 行に詳細があるとは限りません。操作はAI記憶の優先度を確認してください。
旧IndexedDBからの移行
| テーブル | 主な項目・用途 |
|---|---|
storage_migration | migration_id ごとの移行元 source_origin / db_name / store_name、状態 status、進捗 last_key / source_count / migrated_count、チェックサム、開始・完了・更新日時、エラー |
storage_migration_item | 旧キー legacy_key と新しい行 target_id の対応。migration_key、移行ID、行のチェックサム、移行日時 |
legacy_origin_snapshot | 移行元オリジンの保存記録の見出し。件数、形式版、チェックサム、作成日時 |
legacy_origin_snapshot_chunk | migration_id に対応する分割保存内容。batch_index、checksum、JSON文字列 snapshot_json |
storage_shadow_comparison | 従来経路とDuckDB経路の結果比較。operation、source_origin、両経路のダイジェスト、matched、詳細、比較日時 |
source_origin は、旧保存領域の所属するページのオリジンです。これらは移行・検証を管理する記録で、MyMemが訪問したすべてのページの履歴ではありません。ZIP内の indexeddb/origins とも対応します。
実行履歴・音声辞書・バックアップの識別
| テーブル | 内容 | MyMemで使う場所 |
|---|---|---|
ui_execution_log | category / action / status、関連するプロジェクト・会話・記憶・資料のID、description、payload_json、実行・完了日時、error_text | Editorなどの実行履歴 |
voice_dictionary_entry | phrase / reading、auto_replace、認識の補正値 boost、scope / project_id / app、有効状態、日時 | 音声入力の辞書 |
mymem_backup_scope | scope が user-without-laws であることを示すバックアップ用の行 | 通常バックアップの範囲を識別する復元処理 |
mymem_backup_scope は利用者の記憶ではなく、書き出し先に付ける識別用の表です。元の稼働中DBに同じ形で存在する必要はありません。
サーバーカルテ
| テーブル | 内容・対応 |
|---|---|
server_karte_servers | SSHプロフィール profile_id ごとのサーバー見出し。server_id、名前、環境、プロジェクト名、状態、payload_json |
server_karte_records | カルテの記録。record_id と profile_id、記録日時、種類、状態、確認状態 review_state、題名、詳細 |
server_karte_log_snapshots | 記録に関係するログの保存内容。snapshot_id、record_id、operation_log_id、markdown、詳細 |
server_karte_evidence | セッション等に関係する根拠。evidence_id、evidence_kind、session_id、対応する記録の一覧 record_ids_json、詳細 |
server_karte_schema_migrations | 保存形式の更新履歴。version、name、applied_at |
payload_json 等は構造化情報を入れた文字列です。複数のプロフィールを扱う表では、記録IDと profile_id の両方を見ます。詳しい画面の意味はサーバーカルテを参照してください。
サバ缶関連(現在開発中)
以下はサバ缶の保存用テーブルです。サバ缶は現在開発中です。 テーブルがあることは、すべての操作が正式提供されていることや、実際のサーバーが稼働していることを意味しません。
| テーブル | 内容・主な対応 |
|---|---|
server_lab_domain_configs | ドメイン単位の設定。mymem_project_id、domain、本番環境ID |
server_lab_environments | 環境。domain_config_id、type、URL、server_id、状態 |
server_lab_servers | 管理サーバー。名前、プロバイダー、リージョン、ホスト名、IP、SSH参照 |
server_lab_snapshots | 保存ポイントの記録。environment_id、名前、種別、状態、補足 |
server_lab_operation_logs | 操作種別、対象、状態、メッセージ、詳細、日時 |
server_lab_operation_artifacts | 操作出力。operation_id / command_id、text、文字数、ハッシュ、秘匿処理・省略の有無、圧縮方式 |
server_lab_health_checks | 環境の確認結果。URL、HTTP状態、応答時間、詳細、日時 |
server_lab_settings | スコープごとの接続設定。provider、settings_json、secret_refs_json |
server_lab_secret_refs | 秘密情報の参照を管理するID・スコープ・ラベル・状態・補足 |
server_lab_domain_bindings | ドメインと環境・Guest OS・VPSの対応。FQDN、DNS状態、操作ID、詳細 |
server_lab_guest_environment_operations | ゲスト環境操作の進捗。プロジェクト、VPS、現在の段階、状態、開始・完了日時、詳細 |
server_lab_schema_migrations | 保存形式の更新履歴 |
JSON形式の文字列に詳細を持つ項目があります。バックアップに入るのはMyMemが保持する設定・記録であり、VMのディスク本体やクラウド事業者側の全データではありません。秘密情報の参照テーブルがあることだけで、ZIP内の他の場所にも認証情報がないと判断しないでください。
注意点
バックアップ側の列・型は全テーブルの列と型と、自分のファイルのスキーマを比較します。機能を使っていなければ空の表があり、旧版の追加テーブルが残る場合もあります。管理用の表を手で削除したり書き換えたりせず、復元はMyMemの画面から行ってください。