İlişkisel (SQL) ve İlişkisel olmayan (NoSQL) veritabanı teknolojileri

Teknoloji

NoSQL kavramı 1998 yılında ilk model ile veritabanı dünyasına girsede, 2009 yılı başlarına kadar ilişkisel veritabanı sistemlerinin gölgesinde kaldı. Elbette bu durum veri büyüklüğü ile doğru orantılıydı. Gelişen teknoloji beraberinde büyük verileri getirdi ve performans kaygıları 1998 yılında ilk modellemesi yapılan NoSQL kavramını veri dünyasının ortasına yerleştirdi.

SQL ve NoSQL veri tabanı teknolojileri

Detaylara geçmeden önce bu iki kavramı açıklayalım.

SQL (İlişkisel Veritabanı) Nedir?

Uzun süre veritabanı kelimesinin karşılığı olarak tahtını koruyan SQL, temelinde yapısal sorgu dilinin kısaltmasıdır. Bu dil, farklı yerlerde depolanan verileri ilişkilendirerek anlamlı bir hale getiriyor.

 

İlişkisel Veritabanı Şeması - SQL

 

Birden fazla verinin kümlendiği tablolardan SQL yardımı ile anlamlı bir veriye ulaşıyoruz. Kolaylık olarak, yukarıda ki örnekte görüleceği üzere KİŞİLER tablosunu çok uzatmayarak, adresleri farklı bir tabloda tutuyoruz. Her adres için ayrı ayrı il tanımı yapmak yerine ise, İLLER tablosu ile ilişki kurmuş oluyoruz. Burada asıl veri tasarrufunu, benzer değerleri tekrar etmek yerine ilişkileri kullanarak kümeliyoruz.

NoSQL (İlişkisel Olmayan Veritabanı) Nedir?

Süreç içerisinde Oracle ile rekabet edemeyen ve türünün ilk örneği Ingres veritabanıdır. Ingres 1970-1985 yılları arasında geliştirildi. Dil olarak SQL değil Quel‘i kullanan veritabanı sisteminden MSSQL, Sybase  gibi veritabanı sistemleri doğdu. Devam eden süreçte ise Postgres (Post Ingres) olarak günümüzdeki yerini aldı. Ancak NoSQL kavramı ilk olarak 1998 yılında Carlo Strozzi tarafından kullanıldı. 2009 yılı başlarına kadar ihtiyaç olarak görülmeyen bu yeni oyuncu, artan veri yığınları ile birlikte bir ihtiyaç haline geldi.

NoSQL gün geçtikçe “Not SQL” veya “Not Only SQL” gibi kavramlarla anılmaya başlandı. 2004 yılında Google Big Table ile başlayan yeniden tanıtılma süreci, 2007 yılında Amazon’un Dinamo’su ile devam etti. 2009 yılında ise NoSQL yeniden tanıtıldı.

SQL ve NoSQL Arasındaki Temel Farklar

Tek cümle ile açıklıyor olsaydık, SQL şema bağımlı bir veritabanı sistemiyken, NoSQL’in dinamik şema kullandığını söyleyebilirdik. Elbette konu bu kadar basit değil.

  • SQL veritabanı ilişkilerini takip ederken, NoSQL şemadan, ilişkilerden bağımsız olarak çalışır.
  • NoSQL’in SQL gibi karmaşık ilişkileri yoktur. Basit anlamda ne verirseniz onu alırsınız.
  • HTTP(s)/JSON ile metin tabanlı protokoller kullanır.
  • İlişkisel veritabanlarında ölçeklenme konusunda problem yaşanabilirken, veri karmaşıklığından izole çalışan NoSQL sistemler hem kolay bir şekilde ölçeklenebilir hem de ciddi performans değerlerine ulaşır.
  • İlişkisel aktif bir veritabanında, tablo, sütun gibi ekleme/düzenleme işlemleri çalışma gerektirirken, ilişkisel olmayan veritabanları dinamik şemalar ile çalışır.
  • İlişkisel veritabanları tablolardan oluşurken, ilişkisel olmayan veritabanlarında veri belge tabanlıdır.

Teknolojiler

İlişkisel veritabanlarının bilinen en yaygın örnekleri: Microsoft SQL Server, MySQL ve PostgreSQL

İlişkisel olmayan veritabanları ise: MongoDB, CouchDB 

Ayrıca Global Cloud sağlayıcıların bu teknolojileri özelleştirerek servis olarak veritabanı sunduğu teknolojilerde bulunuyor. Microsoft Azure CosmosDB ile Amazon ise DynamoDB ile bu alanda karşımıza çıkıyor. Ayrıca Oracle’ın Oracle NoSQL Database adında ilişkisel olmayan bir veritabanı teknolojisi var.

Yakın tarihte İstanbul veri merkezlerinde hizmet vermeye başlayan Huawei ise, DDS (Document Database Service) adında bir çözüm sunuyor.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi yazın.

Yeni
Bu yazıyı beğendin mi? Arkadaşlarınla paylaş!

Benzer içerikler: