ストレージ比較
保存先の選択に使うストレージ比較表と選択指針を説明します。
比較表
| 項目 | @unikvs/memory |
@unikvs/fs.node |
@unikvs/fs.bun |
@unikvs/redis.bun |
@unikvs/s3.node |
@unikvs/s3.bun |
@unikvs/opfs |
@unikvs/indexeddb |
|---|---|---|---|---|---|---|---|---|
| 環境 | すべて | Node.js | Bun | Bun | Node.js | Bun | ブラウザー | ブラウザー |
| 永続性 | なし。 | あり。 | あり。 | あり。 | あり。 | あり。 | あり。 | あり。 |
| 対応データ | 任意の値。 | バイト列。 | バイト列。 | バイト列。 | バイト列。 | バイト列。 | バイト列。 | 任意の値。 |
| ストリーム | 制限あり。 | 対応します。 | 対応します。 | 対応します。 | 対応します。 | 対応します。 | 対応します。 | 制約を確認します。 |
| 主な用途 | テスト・一時保持。 | 単一サーバー保存。 | 単一サーバー保存。 | 共有・キャッシュ。 | 共有・大容量保存。 | 共有・大容量保存。 | ブラウザー大容量保存。 | ブラウザー構造化保存。 |
各ストレージの詳細はパッケージリファレンスを参照してください。@unikvs/writeonly は保存先ではなく、既存のストレージを読み出し不可にするラッパーのため比較表には含めていません。
選択指針
メモリーを使います。最も単純で、すべての環境で動作します。
ファイルを使います。設定が少なく、小規模から中規模に適しています。
S3 互換ストレージを使います。マルチパート転送に対応します。
バイト列を大量に扱うなら OPFS、文字列やオブジェクトなど構造化データなら IndexedDB を使います。
組み合わせ例
メモリー + ファイル
高速読み取りと永続化を両立します。
ファイル + S3
単一サーバーの応答性と共有保存の冗長性を両立します。
IndexedDB + OPFS
ブラウザーで構造化データとバイナリーデータの保存先を分けます。
本命 + 書き込み専用アーカイブ
読み出し用のストレージと、読み出せないバックアップを併用します。
環境別の注意
- 永続化を伴うストレージは、容量・権限・ネットワークの考慮が必要です。詳細は各パッケージリファレンスを参照してください。