私はhttps://apacheignite.readme.io/docs/affinity-collocationを読んでいますが、アフィニティーコロケーションがどのように動作するのか、その動作はどういうものなのか分かりません。Ingite親和性コロケーションはどのように機能しますか?
私はcompanyIdが1であるEmployeeオブジェクト(そのidは1000)を持っていますが、このEmployeeオブジェクトはidが1のCompanyオブジェクトと並置されます。 つまり、同じノードに存在しますが、別のキャッシュ:
Employee Cache: <1000, EmployeeObjWhoseCompanyIdIs1>
Company Cache: <1, CompanyObj>
しかし、どのような第三のキャッシュがある場合は、国のキャッシュが言う、それはまた1であるキーを持っている、それは次のとおりです。次に
Country Cache: <1, CountryObj>
、意志EmployeeオブジェクトとCountryオブジェクトも同じノードに存在しますか?アフィニティクラス定義から
、それだけで併置するするに affKey
を定義し、それがこのaffKey
お手数ですがお返事ありがとうございます。しかし、私はこれが偶然だとは思わない:-)。実際には、idフィールドに自動インクリメント機能を使用する多くのデータベーステーブルがあります。つまり、両方とも数値型(またはLong型)であり、同じ値になります。私はこれが論理的に間違ったことが起こる(会社IDと国IDは関係ないが、彼らは同じノードにとどまる)という変化を劇的に増やすと思う。 – Tom
@Tom、意味論的にはこれは偶然である。私。ビジネスロジックは決してこの事実に頼るべきではないので、それをコロケーションとして扱うべきではありません。しかし、これはかなり頻繁に起こります。 –
明確な説明をいただきありがとうございます。今、私はその行動とその効果を理解しました。 – Tom