Document destekli PostgreSQL

Document destekli PostgreSQL

Başlarda NoSQL olarak ismini duyuran “Document Database” teknolojileri bildiğimiz ilişkisel veritabanlarına oranla apayrı bir yaklaşım gerektirdiği için kullanım istatistiklerinde çok keskin sıçramalar oluşturamıyor olsa da, gün geçtikçe projelerde kendilerine daha fazla yer bulmaya başlıyorlar.

En popüler zamanlarını 1992’lerde yaşayan, klasik “şema” destekli relational database’lerin sonu yakın mı bilemeyiz. Fakat mevcut veritabanı çözümü üreten organizasyonların mevcut veya yeni ürünlerle yakınlarda değişimler geçireceklerinin sinyalleri bizlere ulaşmaya başladı bile.

Veri tipleri konusunda oldukça geniş bir yelpaze sunan (ayrıca benim favori DBMS’im) PostgreSQL halihazırdaki XML ve contrib olarak ulaşılabilecek hstore veri tiplerinin yanı sıra 9.2 sürümünden itibaren JSON desteği de sunacağını açıkladı.

myNoSQL blog’undan aldığım özetle birlikte bu veri tiplerini karşılaştırmamız gerekirse:

XML

  • built-in type
  • can handle very large documents (2 GB)
  • XPath support
  • export functions
  • no indexing, except defining custom ones using expression index

hstore

  • hierarchical storage type
  • in contrib (not part of the core)
  • custom functions
  • GiST and GIN indexes
  • supports also expression indexes

JSON

  • built-in type starting with PostgreSQL 9.2
  • validates JSON
  • support expression indexing
  • nothing else besides a lot of feature scheduled for

PostgreSQL çalışanı olan Christophe Pettus’un hazırladığı ve MongoDB ile PostgreSQL’in document database olarak kullanımını karşılaştırdığı slide’larını PostgreSQL Wiki’si üzerinden download edebilirsiniz.