Clustered JDBC - C-JDBC

advertisement
Sept 2004
C-JDBC (Clustered Java™ DataBase Connectivity)
açık kaynak kodlu veritabanı kümeleme (cluster)
ortakatman yazılımıdır. Her türlü uygulamanın,
JDBC üzerinden kümelenmi veritabanlarına
açık ula ımını sa lar.
C-JDBC, da ıtık ve bir çok replike edilmi uçtan
olu an veritabanına sorgu yüklerini da ıtır. CJDBC bir RAIDb (Redundant Array of Inexpensive
Databases, ilerleyen bölümlere bakınız) yazılım
implementasyonudur. C-JDBC bir ObjectWeb
projesidir ve GNU LGPL lisansı ile da ıtılmaktadır.
• Mevcut uygulamalarda kod düzenlemesi
gerekmez,
• JDBC sürücüsü bulunan her veritabanı
sunucu yazılımı ile çalı abilme,
• RAIDb yazılımı implementasyonu ile sa lanan
Performans ölçekleme ve hata toleransı,
• Çoklu platformları destekleyen %100 Java
uygulaması.
C-JDBC iki bile en sa lar: bir sürücü (driver) ve bir
kontrolör (controller).
C-JDBC Sürücü
C-JDBC, istemci tarafından kullanılan veritabanının
kendi JDBC sürücünün yerini alan standart bir
JDBC 2.0 sürücüsüdür. C-JDBC sürücü SQL
isteklerini C-JDBC kontrolörüne RMI™ üzerinden
yönlendirir ve ili kili sonuçları alır.
C-JDBC Kontrolör
C-JDBC kontrolör be ana bile enden olu an
düzgün bir Java uygulamasıdır. Authentication
Manager
istemci
tarafından
gönderilen
kullanıcıadı/ ifre’yi denetler ve onaylar. Scheduler
C-JDBC’ den gelen istekleri alır ve güvenli i lem
(transactional-safe) emirlerini düzenlemek için
senkronize eder. Opsiyonel olan Query Cache ise,
sorgu sonuçlarını, performans ölçeklenmesini
artırmak ve cevap zamanını minimize etmek için,
önbelle e (cache) alabilir. Load Balancer, de i ik
ve birçok derecede yük da ılımı ve hata toleransı
ba arımı için bütün RAIDb seviyeleri yazılım
implementasyonlarını
sunar.
Son
olarak,
Connection Manager veritabanı JDBC sürücüleri
üzerinden, arka katmanlara ba lanmak için açık
ba lantı havuzları (connection pooling) sa lar.
Servlet/JSP server
Tomcat, Jetty, ...
Servlet/JSP server
Tomcat, Jetty, ...
Database
JDBC driver
JVM
C-JDBC driver
J2EE Server
JOnAS, W ebLogic,
JBoss, W ebSphere, ...
Database
JDBC driver
Java client
program
Database
JDBC driver
JVM
JVM
Java client
program
C-JDBC
driver
JVM
J2EE Server
JOnAS, WebLogic,
JBoss, W ebSphere, ...
C-JDBC driver
JVM
JVM
C-JDBC Controller
No scalability
No fault tolerance
No failover
Scalability - High Availability - Failover Caching - Connection Pooling - ...
Database JDBC driver
Database
MySQL, PostgreSQL, SAP DB,
Oracle, DB2, InstantDB, ...
Database
Database
Database
Database
Database
MySQL, PostgreSQL, SAP DB, Oracle, DB2, InstantDB, ...
Ölçekleme ve Hata Toleransı
C-JDBC kontrolörleri, çok daha iyi performans
ölçeklenmesi ve hata toleransı sa lamak için
replikasyon ve gruplama yapabilir. C-JDBC
sürücüleri, yardımcı kontrolörler arasında açık
failover yapısını destekler.
yile tirilmi Sorgu Önbelle i
Her C-JDBC kontrolörü içerisinde, bir sorgu
önbelle i etkin kılınabilir. Detaylı sorgu
çözümlemesi, eCommerce uygulamaları için,
yüksek önbellek ula ım oranları ve dü ük cevap
zamanları demektir.
Ba lantı Havuzu (Connection Pooling)
C-JDBC ba lantı havuzu sa lamaktadır. Her veri
kayna ının ba lantı havuzunun performansı
biribirinden ba ımsız iyile tirilebilir.
Çoklu Ortam Deste i
C-JDBC, JDBC sürücüsüne sahip de i ik
veritabanlarının olu turdu u kümeleme yapılarını
destekler. Bir tek gereksinim vardır; o da bütün
veritabanlarının uygulamadaki SQL cümlelerini
aynı ekilde çalı tırabilmesi.
Açık Sistem Altyapısı
C-JDBC, bir açık kaynak (open source) giri imdir.
Her C-JDBC bile eni, özel kullanıcı ihtiyaçlarına
veya mimari ortama gore yerde i ebilir ve
özelle ebilir.
araçlar bulunmaktadır. 2002 yılında Bull, France
Telecom ve INRIA tarafından kurulmu tur ve
INRIA tarafından host edilmekte, Together
Teamlösungen GmbH tarafından da sponsorlu u
yapılmaktadır. ObjectWeb hakkında daha fazla bilgi
için, http://www.objectweb.org adresini ziyaret
edebilirsiniz.
! "#
$%
&'
& &
RAIDb, çoklu veritabanı örneklerini, bir veritabanı
dizini içerisinde birle tirerek, daha iyi performans
ve hata toleransını, tek bir veritabanı gibi dü ük
maliyetlerle elde etmeyi amaçlamaktadır. Birçok
mevcut RAIDb seviyesi, de i ik performans ve hata
toleransına ula mak için tanımlanmı tır.
RAIDb-0 (tam bölümleme): Veritabanı tabloları
arka planda da ıtık.
S Q L requests
R A ID b -0 co n tro ller
table 1
tab le 2 & 3
table ...
tab le n-1
table n
RAIDb-1 (tam replikasyon): Veritabanı tamamıyle
arka planda replike edilmi .
SQ L requests
R A ID b-1 controller
INRIA, Fransız Ulusal Bilgisayar Bilimi ve
Kontrol Ara tırma Enstitüsü’ dür (French National
Institute for Research in Computer Science and
Control). INRIA Rhône-Alpes’ deki “Sardes”
Projesi (http://sardes.inrialpes.fr/), RAIDb içeri ini
tanımlamakta ve C-JDBC projesi geli imine liderlik
etmektedir.
Full D B
Full D B
Full D B
Full D B
Full D B
RAIDb-2 (parçalı replikasyon): her veritabanı
tablosu, en az iki defa arka planda sunulmakta.
SQ L requests
ObjectWeb, dünya çapında lider firmaların ve
ara tırma organizasyonlarının olu turdu u bir
konsorsiyumdur. Bunlar, yeni nesil Açık Kaynak
Ortakatman
üretmek
için
güçlerini
birle tirmi lerdir. Açık standartlara dayalı ObjectWeb’in ortakatman çözümlerinde, uygulama
sunucusu yazılımları, bile enler, framework’ler, ve
R A ID b-2 controller
Full D B
table x
table y
table x & y
table z
ndirmek
için: http://c-jdbc.objectweb.org
Bize katılın: c-jdbc@objectweb.org
Bütün isimler ve markalar ki isel sahiplerine aittir. ObjectWeb, INRIA tarafından host edilen bir konsorsiyumdur www.objectweb.org - contact@objectweb.org
Java, JDBC, RMI ve bütün Java tabanlı markalar Sun Microsystems, Inc.'
ın tescilli markalarıdır.
Download