Postgresqlin Özellikleri
Postgresql nedir?postgresqlin tarihçesi?postgresqlin özellikleri nelerdir?
POSTGRESQL VE ÖZELLİKLERİ
Postgresql'in ilk olarak kısa tarihçesine bakalım;
PostgreSQL’in geçmişi 1977’de Kaliforniya’ daki Berkeley Üniversitesinde (UCB) yapılan çalışmalara dayanır. UCB’de 1977-1985 yılları arasında Ingres adı verilen relational veritabanı geliştirildi. Ingres kodu Relational Technologies/Ingres Corporation tarafından satın alındı ve ilk ticari relational veritabanlarından biri oldu.Aynı süreçte, Berkeley’deki relational veritabanı sunucusu üzerindeki çalışmalar 1986 – 1994 arasında devam etti ve bu veritabanı Postgres adını aldı. Bu kod ise Illustra tarafından satın alındı ve Informix olarak geliştirilmeye başlandı.1994’te SQL özellikleri Postgres’e eklendi ve bu veritabanı Postgres95 adını aldı.
1996 yılında Postgres tanınmaya başlandı ve kod geliştirmesi için e-posta listesi açılmasından sonra bir çok gönüllü Postgres’i geliştirmek için çalışmaya başladı. Bu aşamadan sonra Postgres son kez adını değiştirdi ve adındaki “95” ekinin yerine daha uygun olan SQL konmasına karar verildi. Bunun nedeni Postgres’in artık SQL standartlarını desteklemesiydi. Böylece PostgreSQL doğdu.
Postgresql Nedir?
PostgreSQL, diğer bir çok gelişmiş veritabanında olduğu gibi dışarıdan kendisine bağlanan istemciler ile belirli bir dilde konuşup anlaşabilmek için bir Sunucu/İstemci protolüne sahiptir. Herhangi bir istemci bu mimarinin getirdiği standartlar doğrultusunda veritabanı üzerinde protokolce desteklenen tüm sorgulama işlemlerini gerçekleştirebilir.Bunun için yapılması gereken tek şey veritabanı sunucusu ile kurulacak bir soket bağlantısı üzerinden basit read/write sistem çağrılarında bulunmaktan ibaret olacaktır.Fakat hiçbir kullanıcı - özel amaçlar doğrultusunda sıfırdan bir kütüphane geliştirmediği sürece - PostgreSQL'in bu iç işleyişi ile uğraşmak istemez. İşte bu noktada devreye API (Application Programming Interface/Uygulama Programlama Arayüzü) kavramı girmektedir.
PostgreSQL, dışarıdan kendisine bağlanacak programlama dilleri için bir ara katman oluşturan uygulama arayüzlerine sahiptir. Bu sayede, veritabanına ulaşmak isteyen programcılar, PostgreSQL'in kendi iç işleyişi ile ilgili hiçbir çalışma mekanizmasından haberdar olmak zorunda kalmadan da, kullandıkları dilin kendilerine sundukları API kütüphanesinden faydalanarak kolaylıkla veritabanı ile etkileşime geçip, ilgili sorgulamalarını gerçekleştirebilirler.Yazılım piyasasındaki neredeyse tüm popüler programlama dilleri PostgreSQL veritabanı için bir programlama arayüzünü beraberinde sunmaktadır.
Postgresql'in Özellikleri
Veritabanı büyüklüğü:Sınırsız
PostgreSQL bir veritabanının toplam büyüklüğü için herhangi bir sınır koymaz.PostgreSQL’in veriyi düzenleme yönteminden dolayı çok fazla tablo içeren veritabanlarında başarım gittikçe düşer. PostgreSQL veriyi saklamak için çok sayıda dosya kullanacaktır, ve işletim sistemi tek bir dizinde bu kadar çok dosyayı yönetemezse, başarım düşecektir.
Tablo büyüklüğü: 16Tb-64Tb
PostgreSQL normalde tablo verilerini 8k’lık parçalarda tutar. Bu blokların sayıları 32-bit signed integer kadar sınırlıdır (2 milyarın hemen üstü) ve 16 TeraByte kadar bir tablo büyüklüğü sağlar. Temel blok büyüklüğü PostgreSQL kurulurken 32k ya kadar yükseltilebilir ve bu da teorik olarak 64 TB’lık bir sınır getirir.Bazı işletim sistemleri dosya büyüklükleri için bir sınır koyarlar. Bu nedenden, PostgreSQL tablo verilerini her biri en fazla 1GB büyüklükte olabilecek çoklu dosyalarda tutar. Büyük tablolar için bu bir çok dosya anlamına gelecek ve daha önce de belirttiğim gibi sistem başarımının düşmesine neden olacaktır.Bu büyüklük işletim sisteminden bağımsızdır.
Tablodaki satır sayısı: Sınırsız
PostgreSQL tablodaki satırlarda herhangi bir sınır koymaz. Aslında toplam COUNT fonksiyonu 32-bit tamsayı döndürür, dolayısıyla 2 milyar satırın üzerindeki tablolar için COUNT anlamsız olacaktır.Bu değer sürüm 7.1 ve sonrasında sınırsız olmuştur.
Tablo indexleri: Sınırsız
Tablo üzerinde yaratılabilecek indexlerde PostgreSQL tarafından konan herhangi bir limit yoktur. Ancak unutulmaması gereken, oldukça fazla kolon içeren bir tabloda çok fazla index yaratma çalışırsak başarım gittikçe düşecektir.
Field büyüklüğü: 1Gb
PostgreSQL , sürüm 7.1 ve sonrasında bir tablodaki herhangi bir field için 1 GB’lik bir sınır getirmiştir. Pratikte bu limit sunucunun veriyi işleme ve istemciye transfer etmesi için gerekli hafıza miktarından gelir.
Tablodaki kolon sayısı: 250+
PostgreSQL’de tutulabilecek en fazla kolon sayısı, konfigure edilmiş blok büyüklükleri ve kolon tiplerine bağlıdır. Varsayılan değer olarak blok büyüklüğü olan 8k’da en az 250 kolon saklanabilir, bu sayı eğer fieldlar oldukça basit ise (tamsayı değerleri gibi) 1600 e kadar çıkabilir.Blok büyüklüğünü arttırmak eş zamanlı olarak bu limitleri de arttırır.
Satır büyüklüğü : Sınırsız
Bir satırın büyüklüğü için bir sınır yoktur, ancak kolonlar ve onların büyüklüğü yukarıda anlatıldığı gibi sınırlıdır.Bu sınır, sürüm 7.1’den sonra kaldırılmıştır.
Desteklediği İşletim Sistemleri
Windows , Mac/Os X , Linux , BSD , Unix .
Süleyman AYDOSLU