|1.


(Bkz: #7254)


Oracle'ye bağlantı çeşitlerinden biridir.İsminden anlaşılacağı üzere, threaded bir yapıdır.Bu bağlantı çeşidinde, gelen her istek için yeni bir process oluşturulmaz.Bir nevi connection pooling mekanizması da denebilir.
Server tarafında öncelikle, bir dispatcher ve birçok shared server bulunur.Bunlar başlangıçta vardır ve gelen istekleri karşılamak için oluşturulmuşlardır.Bir istek gelince uygun olana yönlendirilir.Bu sayede az kaynak ile çok yönetilmiş client yönetilmiş olur.
Çalışma şekli ise şöyle özetlenebilir:Önce client listenera gider multi-threaded olarak bağlanmak istediğini belirtir.Kimi asıllama işlemlerinden sonra ilgili bir dispatcher clienta bildirilir.Client artık bu dispatcher ile iletişime geçer.
Bu şuna benzer:Elektrik faturanızı yatırmaya gidiyorsunuz.Toplamda 5 vezne olsun.Siz gidip sıraya giriyorsunuz.Orada bulunan görevli uygun olan veznelerden birine sizi yönlendiriyor.Bu sayede her vezne boş kalmıyor, az vezne ile birçok kişinin işlemi görülmüş oluyor.Size özel bir vezne yerine birçok vezne bulunmakta ve kim gelirse gelsin işlemi görülmekte.Aksi takdirde abone sayısı kadar vezne olmalı, ayda bir kişinin işlemi için bir vezneye maaş verilmiş olacaktı.Vezneler, umuma hizmet etmektedir yani.Burada vezneler dispatcherdir, görevli ise listenerdir.Siz ise clientsiniz.Elektrik idaresi ise tabir yerinde ise oracledir.
Dedicated server bağlantısı ile karşılaştırırsak, 10 000 clienti yönetmek için 10 000 tane dedicated server yerine 100 tane shared server açılır.Her bir shared server ise 100 bağlantıyı kabul edecek şekilde yapılandırılabilinir.
Bir diğer fark ise çalıştırılacak sorgu tipleridir.Eğer sisteminizde sorgular uzun ise, yani daha çok veri analizi, raporlama gibi saatlerce süren işlemler yapacaksanız, yani datawarehouse işlemleri, dedicated server bağlantısı daha uygun olacaktır.Ama kısa süren, update, insert veya delete ile çalışacaksanız, yani OLTP işlemleri multi-threaded server bağlantısı daha uygun olcaktır.