キー値ストアに保存することを考えている構成/設定管理システムを設計しようとしています。
マルチパート キーがあります - OrganizationId + TenantId + UserId + ApplicationId ですが、値はシリアル化された構成/設定オブジェクトです。キーの複数の部分は階層的です。つまり、ユーザー ID は組織 ID に属するテナント ID に属します。
ビジネス要件として、ユーザー レベル (ユーザー ID) の構成/設定オブジェクトが存在する場合はそれを返すか、テナント レベル (テナント ID) を返すか、組織レベル (組織 ID) オブジェクトを返す必要があります。組織レベルのオブジェクトは常に存在します。
組織レベルのオブジェクトをキーとして -(OrgId - a, TenantId - 0, UserId - 0, AppId - 0) として保存する予定です 同様に、テナント レベルのオブジェクトは - (OrgId - a, TenantId - b, UserId - 0、AppId - 0) など...
特定の構成/設定オブジェクトを返すクエリを取得すると、OrgId(a)、TenantId(b)、UserId(c)、および AppId(d) を入力として取得します。私の仕事は、キー値ストアをクエリして、適切なレベルでオブジェクトを返すことです
最悪の場合、キー値ストアに対して 4 回の呼び出しを行うことで、これを実現できます。
- あいうえお
- a、b、c、0
- a、b、0、0
- あ、0、0、0
1回の呼び出しでこれを達成できる方法はありますか? これを達成するために維持できる追加のデータ構造はありますか? この問題を解決するために使用できるアルゴリズムはありますか?
前もって感謝します !!