Firebase でデータを非正規化する場合、複数の場所にわたるデータの一貫性を確保することが困難になる場合があります。この問題に対処する方法は次のとおりです。
トランザクション更新を使用すると、単一のコマンドを使用して複数のパスでのアトミック更新を保証できます。これにより、一連のイベントが中断された場合でも、メッセージ内のユーザー名がプロファイル内の名前と一致することが保証されます。
別の方法として、ユーザーのユーザー名を分離することもできます。影響からアクションを決定し、メッセージなどの二次データの更新をキューに追加します。このアプローチにより、複雑なセキュリティ ルールやクライアント側のトランザクション処理を必要とせずに、結果整合性が確保されます。
重複データが本質的にトランザクションである場合、不整合を許容できる場合があります。たとえば、メッセージ作成時の名前を保存することで、更新の必要がなくなります。
最適なアプローチは、アプリケーションの特定の要件によって異なります。データの一貫性が重要ではない単純なケースでは、不整合を無視するだけで十分な場合があります。より複雑なシナリオの場合は、トランザクション更新または書き込みキューのアプローチにより、データの整合性を確保できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3