管理者だけが見ることができるユーザーのリストがあります(=読み取りが少ない)。このリストには、データストア内のユーザー数のカウントも表示されます。リストが1000を超える可能性があるため、最初に考えたのは、通常のcount()を避け、代わりにシャードカウンターを使用することでした。
ただし、問題は、管理者が男性/女性ユーザーのみを表示するなど、さまざまな検索フィルター(GUI内)にもアクセスできることです。カウントがこれらのフィルターを反映していることが重要です。これにより、女性ユーザー、男性ユーザー、およびその他の無数の組み合わせの数を取得できます。
このため、シャーディングされたカウンターとシャーディングされていない高同時実行カウンターは、検索フィルターのすべての組み合わせに対してカウンターを作成する必要があるため、良い考えとは思えません。
ここで説明するように、単にcount()メソッドのループを作成する必要がありますか、それともこれは非常に悪い習慣ですか?それ以外の場合はどうすればよいですか?
このカウンターは管理インターフェース用であり、読み取り回数が非常に限られていることに注意してください。これは、柔軟性と正確性のために読み取りパフォーマンスをいくらか犠牲にしたい場合です。1000を超えて成長できるはずですが、10000を超えて成長することは期待されていません。