質問を始めましょう - 本当に固執する必要がありますか? はい、場合によっては、アプリケーションがソースをシンクに接続するパイプラインにすぎない場合もあります。データを永続化する必要があると仮定して、そのニーズに疑問を投げかけ始めると、保存されたデータが後で使用するためにどのようにクエリされると見なされるかについてもう少し知るようになります。重い書き込み、重い読み取り、ハイブリッドを考えてください。ここでは、すべてのデータが一緒にクエリされるわけではなく、頻度が異なることを確認します。同じユニットに同様のケイデンスを持つデータを保存することは理にかなっています。アプリケーションが、さまざまなマシンに分散する必要がある十分なデータを生成していると仮定します。参加しているすべてのマシンが同等のコンピューティング/ストレージ要求を処理できるように、複数のマシンを最適に使用したいと考えています。ここでは、シャーディング ポリシーを特定する必要があります。データが分散されたので、NS 間の名前を持つユーザーを格納しているマシンがダウンしているなど、部分的な障害に直面する可能性があります。高可用性が必要な場合、つまり、ほとんどの場合すべてのデータにアクセスする必要がある場合、複数のマシンにデータを複製する必要があります。これにより、合計ストレージ容量が減少し、結果のクラスターのサイズによっては、一貫性に関連する問題に直面する可能性があります。一貫性のないデータに対する許容度に応じて、結果的に一貫性のあるソリューションから、特定の数の書き込みがコミットされたときにデータの一部を利用できるクォーラム ベースのソリューションまでの範囲のソリューションを検討することをお勧めします。ほとんどの場合、すべてのデータにアクセスする必要があります 複数のマシンにデータを複製する必要があるため、合計ストレージ容量が減少し、結果のクラスターのサイズによっては、一貫性に関連する問題に直面する可能性があります. 一貫性のないデータに対する許容度に応じて、結果的に一貫性のあるソリューションから、特定の数の書き込みがコミットされたときにデータの一部を利用できるクォーラム ベースのソリューションまでの範囲のソリューションを検討することをお勧めします。ほとんどの場合、すべてのデータにアクセスする必要があります 複数のマシンにデータを複製する必要があるため、合計ストレージ容量が減少し、結果のクラスターのサイズによっては、一貫性に関連する問題に直面する可能性があります. 一貫性のないデータに対する許容度に応じて、結果的に一貫性のあるソリューションから、特定の数の書き込みがコミットされたときにデータの一部を利用できるクォーラム ベースのソリューションまでの範囲のソリューションを検討することをお勧めします。
また、存続時間、最後の N 個のアイテムのみ、「古い/未使用」データのアーカイブ/無効化など、他の特定の側面についても考えてください。
結果として得られる解決策について考えるのに役立つことを願っています。