Affinity Colocation
Çoğu durumda, eğer verilere sıklıkla birlikte erişiliyorsa, farklı veri girişlerini bir arada konumlandırmak faydalıdır. Bu şekilde çok veri girişli sorgular tek bir node’da yürütülür. Bu kavrama affinity colocation denir.
Veri girişleri, affinity function tarafından partitionlara atanır. Aynı affinity keyine sahip nesneler aynı partitiona gider. Bu, veri modelinin ilgili veri girişlerin birlikte saklanacağı şeklinde tasarlanmasına olanak tanır. Buradaki “ilgili” kelimesi, parent/child ilişkisi içinde olan nesneleri veya genellikle birlikte sorgulanan nesneleri ifade eder.
Örneğin Person
ve Company
nesnelerinin olduğunu ve her kişinin, kişinin çalıştığı şirketi gösteren şirket kimliği alanına sahip olduğunu varsayalım. Person.companyId
ve Company.Id
’yi affnity key olarak belirlenirse, aynı şirket için çalışan tüm kişilerin, şirket nesnesininde depolandığı aynı node’da depolanması sağlanır. Belirli bir şirket için çalışan kişileri talep eden sorgu tek bir node’da işlenir.