IBM Db2, IBM'in on yillardir gelistirdigi kurumsal duzeyde bir iliskisel veritabani yonetim sistemi (RDBMS) ailesidir. Ana bilgisayarlardan (mainframe) Linux sunuculara ve bulut ortamlarina kadar genis bir yelpazede calisir; ozellikle bankacilik, sigorta ve kamu gibi yuksek islem hacimli alanlarda uzun yillardir kritik sistemlerin merkezinde yer alir.

Db2 Nedir?

Db2, verileri satir ve sutunlardan olusan tablolarda tutan, bu verilere SQL (Structured Query Language) ile erisilmesini saglayan bir veritabani yazilimidir. Islem butunlugunu koruyan ACID ozelliklerini destekler; yani birden fazla adimdan olusan islemler ya tamamen tamamlanir ya da hic uygulanmaz, boylece veri tutarli kalir.

Adi bir donem buyuk harflerle DB2 olarak yazilirken, IBM daha yakin zamanda markayi Db2 yazimiyla sadelestirdi. Bugun Db2 tek bir urun degil, ayni SQL temeline dayanan ancak farkli platformlar ve is yukleri icin uyarlanmis bir urunler ailesidir.

Db2'yi one cikaran temel ozellik, olgunlugu ve kararliligidir. On yillardir uretim ortamlarinda calisan bir motor olmasi, ozellikle hata toleransi ve veri butunlugu dusuk sekmedigi sistemlerde ona guven kazandirir. Ayni zamanda tek bir kod tabanina bagli kalmadan mainframe'den bulut sunuculara kadar cok genis bir yelpazede konumlanabilmesi, kurumsal mimarilerde ona esneklik saglar.

Db2'nin Kisa Tarihi

Db2'nin kokleri, iliskisel veritabani fikrinin dogdugu yillara uzanir. 1970'te IBM arastirmacisi Edgar F. Codd, "A Relational Model of Data for Large Shared Data Banks" adli makalesiyle iliskisel modeli tanimladi. Bu modeli pratige dokmek icin IBM'in San Jose arastirma laboratuvarinda yurutulen System R projesi, ilk SQL uygulamalarindan birini ortaya cikardi; dilin ilk adi SEQUEL idi ve Donald Chamberlin ile Raymond Boyce tarafindan gelistirildi.

IBM, bu arastirmalari ticari bir urune donusturdu ve 1983'te ana bilgisayar isletim sistemi MVS icin DB2'yi piyasaya surdu. Ilerleyen yillarda urun; UNIX, Linux ve Windows platformlarina, AS/400 (bugunku IBM i) ortamina ve nihayet bulut servislerine tasindi. Bu uzun gecmis, Db2'nin ozellikle mainframe dunyasinda neden hala yaygin oldugunu buyuk olcude aciklar.

Bu tarihsel arka plan yalnizca Db2 icin degil, tum iliskisel veritabani ekosistemi icin belirleyici oldu. Bugun kullanilan SQL'in temelleri System R doneminde atildi; ayni donemin fikirleri, sonraki yillarda Oracle Database gibi rakip urunleri de sekillendirdi. Dolayisiyla Db2'nin gecmisini bilmek, aslinda iliskisel veritabanlarinin genel tarihini anlamanin bir yoludur.

Db2 Urun Ailesi

Db2 markasi altinda, ayni SQL uyumlulugunu paylasan ancak farkli isletim ortamlarina gore ayrisan surumler bulunur. Bunlarin en cok bilinenleri asagidaki gibidir:

UrunPlatformTipik Kullanim
Db2 for z/OSIBM z/OS mainframeCok yuksek hacimli, kritik cevrimici islem (OLTP) sistemleri
Db2 (LUW)Linux, UNIX ve WindowsSunucu ve bulut uzerinde genel amacli iliskisel veritabani
Db2 for iIBM i (AS/400 mirasi)IBM i platformuna gomulu is uygulamalari
Db2 WarehouseSunucu / bulutAnalitik ve veri ambari is yukleri
Db2 on CloudYonetilen bulut servisiIBM tarafindan isletilen, bakim yuku dusuk kurulum

Temel Mimari Kavramlar

Db2'yi anlamak icin birkac temel kavrami bilmek yeterlidir:

  • Instance (ornek): Veritabanlarini yoneten calisan motor sureci; bir sunucuda birden fazla instance bulunabilir.
  • Veritabani ve sema: Tablolar, gorunumler ve diger nesneler bir veritabani icinde, mantiksal gruplar hâlinde semalar altinda toplanir.
  • Tablespace ve bufferpool: Veriler disk uzerinde tablespace'lerde saklanir; sik erisilen sayfalar bellekteki bufferpool'da tutularak disk erisimi azaltilir.
  • Maliyet tabanli optimize edici: Db2, bir sorguyu calistirmadan once istatistiklere dayanarak en dusuk maliyetli erisim planini secer.
  • Gunluk (log) tabanli kurtarma: Yapilan degisiklikler islem gunluklerine yazilir; bir arizadan sonra veritabani bu gunluklerden tutarli hâle getirilir.

SQL Destegi ve Ornek Sorgular

Db2, standart SQL'in genis bir bolumunu destekler. Asagida tablo olusturma, veri ekleme ve gruplama iceren temel bir ornek yer aliyor:

sql
CREATE TABLE calisan (
  id        INTEGER      NOT NULL PRIMARY KEY,
  ad        VARCHAR(50)  NOT NULL,
  departman VARCHAR(50),
  maas      DECIMAL(10,2)
);

INSERT INTO calisan (id, ad, departman, maas)
VALUES (1, 'Ayse Yilmaz', 'Muhendislik', 45000.00);

SELECT departman, AVG(maas) AS ortalama_maas
FROM calisan
GROUP BY departman;

Db2, sonuc kumesini sinirlamak icin SQL standardindaki FETCH FIRST n ROWS ONLY yapisini kullanir; bu, diger sistemlerdeki LIMIT ifadesinin islevini gorur:

sql
SELECT ad, maas
FROM calisan
ORDER BY maas DESC
FETCH FIRST 5 ROWS ONLY;

Db2, sakli yordamlar ve tetikleyiciler icin SQL PL adli yordamsal bir dile sahiptir. Ayrica LUW surumu, Oracle'dan gecisi kolaylastirmak amaciyla PL/SQL benzeri sozdizimini de belirli olcude destekleyen bir uyumluluk katmani sunar. Bu, mevcut uygulamalari tasirken kod degisikligini azaltmayi hedefleyen pratik bir ozelliktir.

Indeksleme ve Performans

Buyuk tablolarda sorgu hizini belirleyen en onemli etkenlerden biri indekslerdir. Db2, sik filtrelenen veya siralanan sutunlar icin indeks olusturmaniza olanak tanir; maliyet tabanli optimize edici de bir sorguyu calistirirken indeks kullanip kullanmayacagina istatistiklere bakarak karar verir.

sql
CREATE INDEX idx_calisan_departman
  ON calisan (departman);

-- Optimize edicinin dogru karar vermesi icin
-- istatistiklerin guncel olmasi gerekir:
RUNSTATS ON TABLE calisan AND INDEXES ALL;

RUNSTATS komutu, tablo ve indeksler hakkindaki istatistikleri toplayarak optimize edicinin daha isabetli planlar uretmesini saglar. Guncel olmayan istatistikler, optimize edicinin yanlis erisim yolu secmesine ve sorgularin beklenenden yavas calismasina yol acabilir.

Araclar ve Ekosistem

Db2 ile calisirken tek secenek grafik arayuz degildir. Komut satiri islemcisi (CLP) uzerinden dogrudan SQL calistirabilir, betikler yazabilir ve yonetim gorevlerini otomatiklestirebilirsiniz. Bunun yaninda uygulama gelistirme icin JDBC, ODBC ve cesitli diller (Java, Python, .NET, C) icin suruculer sunulur.

  • Komut satiri (CLP): SQL ve yonetim komutlarini calistirmak icin temel arac.
  • Suruculer: JDBC/ODBC ve popüler programlama dilleri icin baglanti kutuphaneleri.
  • Yonetim arayuzleri: Yedekleme, izleme ve performans analizi icin grafik ve web tabanli araclar.
  • Konteyner destegi: Db2, konteyner imajlari uzerinden hizlica ayaga kaldirilabilir; bu, gelistirme ve test ortamlarini basitlestirir.

Yuksek Erisilebilirlik ve Olceklenme

Kritik sistemlerde veritabaninin kesintisiz calismasi beklenir. Db2 bu ihtiyaci birkac farkli yaklasimla karsilar:

  • HADR (High Availability Disaster Recovery): Islem gunluklerini bir veya daha fazla yedek sunucuya aktararak, birincil sunucu arizalandiginda hizli devralma saglar.
  • pureScale: Db2 LUW icin, birden fazla sunucunun ayni veritabanina paylasimli disk uzerinden eriserek sureklilik ve olceklenme sundugu bir kumeleme (cluster) teknolojisidir.
  • z/OS uzerinde data sharing: Mainframe ortaminda birden fazla Db2 alt sisteminin ayni veriye paylasimli erisimini saglayan olgun bir mimaridir.

Analitik icin Sutun Tabanli Depolama (BLU Acceleration)

Klasik iliskisel veritabanlari verileri satir tabanli saklar; bu, tekil kayitlarin okunup guncellendigi islem sistemleri icin uygundur. Ancak buyuk veri kumeleri uzerinde toplama ve raporlama yapan analitik is yukleri, sutun tabanli depolamadan daha cok yararlanir.

Db2 LUW, bu ihtiyac icin BLU Acceleration adli, bellek ici ve sutun tabanli calisan bir teknoloji sunar. Verileri sutun bazinda sikistirip yalnizca sorgunun ihtiyac duydugu sutunlari okuyarak, analitik sorgularin performansini artirmayi hedefler. Boylece ayni motor, hem islem hem de analitik senaryolarini destekleyebilir.

XML, JSON ve Farkli Veri Tipleri

Db2 yalnizca sayilar ve metinlerle sinirli degildir. pureXML ozelligi, XML belgelerinin metne cevrilmeden dogal bir bicimde saklanmasina ve XQuery/XPath ile sorgulanmasina olanak tanir. Ayrica JSON verisiyle calismak icin de fonksiyonlar sunulur; boylece yari yapisal veriler iliskisel veriyle ayni veritabaninda tutulabilir.

Bunun yaninda Db2, buyuk ikili nesneler (BLOB/CLOB), tarih-saat tipleri, ondalik sayilar ve kullanici tanimli tipler gibi zengin bir veri tipi yelpazesi destekler. Bu esneklik, farkli uygulama ihtiyaclarinin tek bir veritabani altinda toplanmasini kolaylastirir.

Ilklerden biri olarak XML'i dogal saklama yaklasimi, Db2'nin yalnizca klasik iliskisel veriyle sinirli kalmadigini gosterir. Iliskisel modelin saglamligini korurken, yari yapisal verilerle de calisabilmesi, ozellikle farkli kaynaklardan gelen verinin bir arada yonetildigi kurumsal senaryolarda islevseldir. Ayni veritabani icinde hem kati semali tablolar hem de esnek belge yapilari bir arada tutulabilir.

Surumler ve Lisanslama

Db2 ticari, tescilli bir yazilimdir. IBM, degerlendirme ve kucuk olcekli kullanim icin ucretsiz bir Db2 Community Edition sunar; uretim ve buyuk olcekli kullanim icinse cekirdek/kapasite bazinda lisanslanan ticari surumler mevcuttur.

Db2'yi Diger Veritabanlariyla Karsilastirmak

Db2, iliskisel veritabani pazarindaki tek secenek degildir. Kurumsal alanda Oracle Database ve Microsoft SQL Server ile; acik kaynak tarafinda ise PostgreSQL ile ayni ihtiyaclara yonelir. IBM'in ayrica Informix adli farkli bir veritabani urunu de bulunur.

OzellikDb2'nin Yaklasimi
Lisans modeliTicari/tescilli; ucretsiz Community Edition secenegiyle
Guclu oldugu alanMainframe ve yuksek hacimli kurumsal islem sistemleri
AnalitikSutun tabanli BLU Acceleration ile ayni motorda analitik destek
SQL uyumluluguStandart SQL'e yakin; SQL PL ve Oracle uyumluluk katmani
Platform genisligiz/OS, Linux, UNIX, Windows, IBM i ve bulut

Dogru secim; mevcut altyapiniza, ekibin deneyimine ve is yukunun tipine baglidir. Farkli sistemleri karsilastirmak icin veritabani turleri rehberimize goz atabilirsiniz.

Tipik Kullanim Alanlari

Db2'nin en cok tercih edildigi yerler, kesintinin ve veri kaybinin maliyetinin cok yuksek oldugu ortamlardir. Asagidaki senaryolar, urunun guclu yanlarinin one ciktigi tipik kullanimlardir:

  • Bankacilik, sigorta ve finansta yuksek islem hacimli cekirdek sistemler.
  • Mainframe uzerinde on yillardir calisan, surekliligi kritik kurumsal uygulamalar.
  • Hem islem hem raporlamanin ayni ortamda calistigi karma is yukleri.
  • IBM i platformuna gomulu, sektore ozel is uygulamalari.
  • Bulut uzerinde yonetilen veritabani ihtiyaci duyan modern uygulamalar.

Db2'ye Nasil Baslanir?

Db2'yi denemenin en pratik yolu, ucretsiz Community Edition'i kendi makinenize ya da bir konteynere kurmaktir. Temel SQL bilgisiyle tablo olusturup sorgu yazarak baslayabilir, ardindan yedekleme, performans ayari ve yuksek erisilebilirlik gibi konulara gecebilirsiniz.