2人の編集者が1つのNASプロジェクトデータベースを共有すると、同時トランザクション、ロック、失敗状態が発生し、通常の共有メディアアクセスでは必要のない処理が求められます。
結果はアーキテクチャによって異なります。コラボレーション対応のデータベースサービスは変更を直列化し、所有権を割り当て、両方の編集者に更新を公開できますが、マップされた共有を通じて1つのデータベースファイルを開く2つのアプリケーションは、脆弱なファイルシステムロックやアプリケーション固有の保護に依存する場合があります。ネットワーク遅延、自動保存、タイムラインの変更、ビン、マーカー、切断などが、2番目の編集者が何をいつ見るか、書き込みがいつ確定するかに影響します。以下のセクションではファイル共有とデータベースコラボレーションを分け、どの設計がプロジェクトの状態を一貫して保つかを示します。
プロジェクトデータベースは共有メディアとどう違うのか?
メディアファイルは通常、継続的な読み取りのために開かれ、時折置き換えられますが、プロジェクトデータベースはタイムライン、ビン、マーカー、グレード、権限、ユーザーステートに頻繁に小さな更新を受けます。これらの変更は順序を保ち、内部的に一貫している必要があります。
サーバーベースの編集は、通常のファイルアクセスと共有プロジェクトを区別します。共有映像の隣にプロジェクトを保存するだけでは、自動的にトランザクション、所有権、または競合解決が生まれるわけではありません。
NASは両方のデータクラスをホストできますが、それらは異なるサービスです。メディアはスループットと安定したパスを必要とし、プロジェクト状態は低遅延のコミット、耐久性のあるジャーナル、サポートされた同時実行、復旧可能なバックアップを必要とします。
両方の編集者が同時に書き込みを試みるとどうなるのか?
プロジェクトシステムは、変更が独立したレコードに触れているか、どちらかの編集者がシーケンスを所有しているか、2回目の書き込みが待機すべきかを判断しなければなりません。粗い設計ではプロジェクト全体をロックするかもしれませんが、コラボレーション対応のデータベースはより小さなトランザクションを調整できます。
ネットワーク共有上のSQLiteは、組み込みデータベースをクライアントサーバーサービスとして扱うリスクを示しています。ネットワークファイルシステムのロックやキャッシュのセマンティクスは、2つの独立したアプリケーションが期待する保証を提供しない場合があります。
編集者レベルでは、結果は読み取り専用アクセス、待機インジケーター、保存拒否、競合バージョン、またはマージされた更新になることがあります。この動作はSMBだけでなく、編集システムのコラボレーションモデルから来る必要があります。
ファイルロックは1つのプロジェクトファイルを保護できますが、データベーストランザクションは順序付け、原子性、ロールバックも必要です。これらの要件は単純な「一度に1人の書き込み」所有権を超えています。
なぜ高速なNASリンクでも遅く感じることがあるのか?
データベースコラボレーションは多くの短いクエリとコミットを交換するため、往復遅延は連続帯域幅よりも重要になることがあります。マーカーの変更は数バイトしか含まなくても、認証、クエリ、ロック、ジャーナル活動、耐久フラッシュ、確認を待つことがあります。
編集者はこれらのデータベース往復を、プロジェクトオープンの遅延、ロック待ち、または遅い更新として体験し、遅いメディアストリームとしては感じません。データベースサーバーはストレージ近くでトランザクションを調整し、クライアントはリモートのデータベースファイルを直接操作する代わりにリクエストを送信します。
2.5GbEから10GbEへの移行は映像の転送速度を上げても、データベースコミット時間を短縮するわけではありません。クエリ遅延、コミット時間、ロック時間、データベース-ディスク遅延、切断回復をメディアスループットと並べて測定してください。
どのアーキテクチャが両方の編集者の作業を一貫させるのか?
編集アプリケーションがサポートするコラボレーション方式を使用してください:同時状態のためのプロジェクトサーバーまたはデータベースサービス、メディアのための安定したNASパス、明示的なユーザー権限、使い捨てワークステーションデータのためのローカルキャッシュ。
ZimaOSはPostgreSQLプロジェクトライブラリをサービスとしてホストでき、複数クライアントに1つの組み込みプロジェクトデータベースファイルを公開する代わりに、サービスがロックとトランザクションを管理し、NASが永続ストレージとネットワークアクセスを提供します。
このアーキテクチャは両方の編集者が実際の同時実行テストを通過した場合にのみ有効です。同じコラボレーションプロジェクトを開き、別々のオブジェクトを変更し、競合編集を試み、1つのクライアントを切断して再接続し、2番目の編集者がサポートされたコラボレーションサービスを通じて一貫した状態を見ていることを確認してください。
プロジェクトデータベースはサポートされた方法でバックアップし、ライブサービス外での復元を証明してください。アクティブな書き込み中にデータベースファイルをコピーすると、メディアフォルダが正しく保護されていても一貫しないポイントをキャプチャする可能性があります。
よくある質問
2人の編集者が同時に同じプロジェクトを安全に開けますか?
編集アプリケーションとプロジェクトアーキテクチャが明示的に同時アクセスをサポートしている場合のみ可能です。そうでなければ、1人は読み取り専用になるか、両方が競合する保存を作成する可能性があります。
データベースとメディアは同じNASプールを使うべきですか?
使えますが、データベースは低遅延のトランザクションI/Oを必要とし、メディアは持続的なスループットを必要とします。1つのワークロードがもう一方を妨害する場合は、別の階層やリソース制御が必要になるかもしれません。
プロジェクトフォルダをコピーすればライブデータベースは保護されますか?
必ずしもそうではありません。データベースやアプリケーションのサポートされたバックアップ方法を使い、キャプチャした状態が一貫して復元できることを確認してください。
テック&AIハブ
もっと読む

Home Assistantにおけるランタイム状態と永続状態:再起動後も維持すべきものは?
Home Assistantはすべてのライブ値を永続化するわけではありません。設定、レジストリ、選択された復元状態、履歴、デプロイデータは、再起動時にそれぞれ異なる役割を果たします。

Home Assistantはローカルセッションとリモートセッションをどのように認証しますか?
ローカルおよびリモートのHome Assistantセッションでは、同じサーバー側のIDモデルを使用します。リモートアクセスによって変わるのは経路とTLSの境界であり、トークンフローの中核ではありません。

Recorderデータが増えると、なぜHome Assistantの履歴クエリは遅くなるのですか?
レコーダーの成長に伴い、要求された範囲に含まれる行数が増えたり、キャッシュミスが増加したり、ストレージやインデックス処理が遅くなったりすると、履歴クエリのコストが上昇する可能性があります。

