データ ストアの設計中に、エントリを分割する方法を検討しています。主なボトルネックは、共有カウンターの分割中です。提供されるチケットがあるとしましょう(典型的な列車の予約、IRCTCなど)。クライアントがそれらの間でライブの一貫性を確認できるように、データストアをどのように分割しますか (予約されたパーセンテージ、つまり現在の値/x)。
読み取りごとの集計はコストがかかりすぎるため、他のポインターがあれば便利です。
また、書き込み操作には同時実行性が想定されているため (スレーブへの読み取りのオフロードはありません)、最終的な一貫性には問題ありません。しかし、不整合の違いをシャード全体で最小限に抑える方法はありますか。たとえば、100 チケットの分割は、4 つのシャード全体で 25、25、25、25 のように行われます。任意の時点で、データベースのビューは x% フルのようになり、シャード間の不整合 (ラウンド ロビン、ハッシュなどの単純な操作) を最小限に抑える方法が必要です。