Aracılığıyla paylaş


Diğer Sürücü Mimarileri

Bazı ODBC sürücüleri daha önce açıklanan mimariye kesinlikle uymaz. Bunun nedeni, sürücülerin geleneksel BIR ODBC sürücüsünün dışındaki görevleri gerçekleştirmesi veya normal anlamda sürücü olmaması olabilir.

Orta Bileşen Olarak Sürücü

ODBC sürücüsü Sürücü Yöneticisi ile bir veya daha fazla ODBC sürücüsü arasında bulunabilir. Ortadaki sürücü birden çok veri kaynağıyla çalışamaya uygun olduğunda, veri kaynaklarına gerçekten erişen diğer modüllere ODBC çağrıları (veya uygun şekilde çevrilmiş çağrılar) dağıtıcısı görevi görür. Bu mimaride, ortadaki sürücü bir Sürücü Yöneticisi rolünün bir kısmını üstleniyor.

Bu tür bir sürücüye başka bir örnek, Sürücü Yöneticisi ile sürücü arasında gönderilen ODBC işlevlerini kesen ve kopyalayan ODBC için bir casus programıdır. Bu katman, bir sürücüye veya uygulamaya öykünmek için kullanılabilir. Sürücü Yöneticisi için katman, sürücü gibi görünür; sürücü içinse katman, Sürücü Yöneticisi gibi görünür.

Heterojen Birleştirme Motorları

Bazı ODBC sürücüleri, heterojen birleşimler gerçekleştirmek için bir sorgu altyapısı üzerine kurulmuştur. Heterojen birleştirme motorunun bir mimarisinde (aşağıdaki çizime bakın), sürücü uygulamaya bir sürücü olarak görünür, ancak Sürücü Yöneticisi'nin başka bir örneğinde bir uygulama olarak görünür. Bu sürücü, birleştirilen her veritabanı için sürücülerde ayrı SQL deyimleri çağırarak uygulamadan heterojen bir birleştirmeyi işler.

Heterojen birleşim motorunun mimarisi

Bu mimari, uygulamanın farklı veritabanlarından verilere erişmesi için ortak bir arabirim sağlar. Özel sütunlar (satır tanımlayıcıları) hakkındaki bilgiler gibi meta verileri almak için yaygın bir yol kullanabilir ve veri sözlüğü bilgilerini almak için ortak katalog işlevlerini çağırabilir. Örneğin , SQLStatistics ODBC işlevini çağırarak, tablolar iki ayrı veritabanında olsa bile, uygulama birleştirilecek tablolardaki dizinler hakkında bilgi alabilir. Sorgu işlemcisinin veritabanlarının meta verileri nasıl depoladığı konusunda endişelenmesi gerekmez.

Uygulamanın veri türlerine de standart erişimi vardır. ODBC, DBMS'ye özgü veri türlerinin eşlendiği yaygın SQL veri türlerini tanımlar. Bir uygulama, farklı veritabanlarındaki veri türleri hakkında bilgi almak için SQLGetTypeInfo çağırabilir.

Uygulama heterojen bir birleşim deyimi oluşturduğunda, bu mimarideki sorgu işlemcisi SQL deyimini ayrıştırıp birleştirilecek her veritabanı için ayrı SQL deyimleri oluşturur. Sorgu işlemcisi, her sürücü hakkındaki meta verileri kullanarak en verimli ve akıllı birleştirmeyi belirleyebilir. Örneğin, deyimi bir veritabanındaki iki tabloyu başka bir veritabanındaki bir tabloyla birleştirirse, sorgu işlemcisi sonucu diğer veritabanındaki tabloyla birleştirmeden önce bir veritabanındaki iki tabloyu birleştirebilir.

Sunucuda ODBC

ODBC sürücüleri, bir dizi istemci makinesindeki uygulamalar tarafından kullanılabilmesi için bir sunucuya yüklenebilir. Bu mimaride (aşağıdaki çizime bakın), her istemciye bir Sürücü Yöneticisi ve tek bir ODBC sürücüsü yüklenir ve sunucuya başka bir Sürücü Yöneticisi ve bir dizi ODBC sürücüsü yüklenir. Bu, her istemcinin sunucuda kullanılan ve korunan çeşitli sürücülere erişmesine olanak tanır.

FIG3-5

Bu mimarinin avantajlarından biri verimli yazılım bakımı ve yapılandırmasıdır. Sürücülerin yalnızca tek bir yerde güncelleştirilmiş olması gerekir: sunucuda. Sistem veri kaynakları kullanılarak, veri kaynakları tüm istemciler tarafından kullanılmak üzere sunucuda tanımlanabilir. Veri kaynaklarının istemcide tanımlanması gerekmez. Bağlantı havuzu, istemcilerin veri kaynaklarına bağlanma sürecini kolaylaştırmak için kullanılabilir.

İstemcideki sürücü genellikle Driver Manager çağrısını sunucuya aktaran çok küçük bir sürücüdür. Kapladığı alan, sunucudaki tam işlevsel ODBC sürücülerinin kapladığı alandan önemli ölçüde daha küçük olabilir. Bu mimaride, sunucu daha fazla bilgi işlem gücüne sahipse istemci kaynakları serbestleştirilebilir. Buna ek olarak, yedekleme sunucuları yüklenerek ve sunucu kullanımını iyileştirmek için yük dengeleme gerçekleştirilerek tüm sistemin verimliliği ve güvenliği artırılabilir.