Semi Join vs Bloom Join
Yarı birleştirme ve Bloom birleştirme, dağıtılmış veritabanları için sorgu işlemede kullanılan iki birleştirme yöntemidir. Dağıtılmış veritabanlarında sorgular işlenirken, verilerin farklı sitelerde bulunan veritabanları arasında aktarılması gerekir. Bu, aktarılması gereken veri miktarına bağlı olarak pahalı bir işlem olabilir. Bu nedenle, sorguları dağıtılmış bir veritabanı ortamında işlerken, siteler arasında aktarılan veri miktarını en aza indirmek için sorguları optimize etmek önemlidir. Yarı birleştirme ve çiçeklenme birleştirme, veri aktarımı miktarını az altmak ve verimli sorgu işleme gerçekleştirmek için kullanılabilecek iki yöntemdir.
Semi Join nedir?
Yarı birleştirme, dağıtılmış bir veritabanı ortamlarında verimli sorgu işleme için kullanılan bir yöntemdir. Site 1'de bulunan bir Çalışan veritabanının (çalışanın adı, çalıştığı departman numarası vb. bilgileri tutan) ve sahada bulunan bir Departman veritabanının (departman numarası, departman adı, konumu vb. bilgileri tutan) bir durumu düşünün. 2. Örneğin, çalışan adını ve çalıştığı departman adını (yalnızca “New York”ta bulunan departmanlar için) site 3'te bulunan bir sorgu işlemcisinde bir sorgu yürüterek elde etmek istiyorsak, bunun birkaç yolu vardır. Bu görevi gerçekleştirmek için veriler üç site arasında aktarılabilir. Ancak veri aktarırken, siteler arasında tüm veri tabanını aktarmanın gerekli olmadığını unutmamak önemlidir. Sorguyu verimli bir şekilde yürütmek için yalnızca birleştirme için gerekli olan bazı özniteliklerin (veya demetlerin) siteler arasında aktarılması gerekir. Yarı birleştirme, siteler arasında gönderilen veri miktarını az altmak için kullanılabilecek bir yöntemdir. Yarı birleştirmede, yalnızca birleştirme sütunu bir siteden diğerine aktarılır ve daha sonra bu aktarılan sütun, diğer siteler arasındaki sevk edilen ilişkilerin boyutunu küçültmek için kullanılır. Yukarıdaki örnek için, lokasyon=”New York” olan demetlerin departman numarasını ve departman adını site 2'den site 1'e aktarabilir ve site 1'de birleştirmeyi gerçekleştirebilir ve son ilişkiyi site 3'e geri aktarabilirsiniz.
Bloom Join nedir?
Daha önce de belirtildiği gibi, bloom birleştirme, dağıtılmış bir veritabanı ortamlarında sorgular yürütülürken siteler arasında gereksiz veri aktarımını önlemek için kullanılan başka bir yöntemdir. Bloom birleştirmede, birleştirme sütununun kendisini aktarmak yerine, siteler arasında birleştirme sütununun kompakt bir temsili aktarılır. Bloom birleştirme, üyelik sorgularını yürütmek için bir bit vektörü kullanan bir çiçeklenme filtresi kullanır. İlk olarak birleştirme sütunu kullanılarak bir bloom filtresi oluşturulur ve siteler arasında aktarılır ve ardından birleştirme işlemleri gerçekleştirilir.
Semi Join ve Bloom Join arasındaki fark nedir?
Dağıtılmış bir veritabanı ortamında sorgular yürütülürken siteler arasında aktarılan veri miktarını en aza indirmek için hem yarı birleştirme hem de çiçeklenme birleştirme yöntemleri kullanılsa da, bloom birleştirme, aktarılan veri miktarını (tuple sayısını) az altır. küme üyeliklerini belirlemek için bir bit vektörü kullanan çiçek filtreleri kavramını kullanarak yarı birleştirme. Bu nedenle, bloom birleştirme kullanmak, yarı birleştirme kullanmaktan daha verimli olacaktır.