‘Veri tabanı’ cephesindeki değişimler ve gelecekte bizi neler bekliyor?
Arama
Teknoloji

‘Veri tabanı’ cephesindeki değişimler ve gelecekte bizi neler bekliyor?

Cloud Database1 milyar dolara satın alınan Instagram, onu satın alan Facebook, ayrıca Youtube, Twitter, Tumblr, Pinterest, mobil oyunlar, sosyal medya… Aslında kullandığımız tüm uygulama ve web siteleri, bizzat kullanıcılarından veya başka kaynaklardan topladığı verileri bizlere aktaran araçlar olarak tanımlanabilir.

Uygulama ve web siteleri veri tabanlarının sahip olduğu kısıt ve engelleri bizlere arayüzleri vasıtasıyla taşıyorlar, biz de farkında olmadan veri tabanı üzerinde yeni bir kayıt oluşturuyor, varolan kayıtı güncelliyor veya siliyoruz. Örneğin Instagram’da yeni bir fotograf çekip linkini Twitter’da paylaştığımızda aslında yaptığımız şey 2 farklı veri tabanı sorgusundan ibaret.

Kuşkusuz gelişen teknoloji ve farklılışan ihtiyaçlarla birlikte veri tabanı teknolojilerinde de ciddi bir değişim söz konusu. Bu değişimi 3 ana başlıkta incelemek gerekirse: veri tabanlarına yardımcı teknolojiler, bulut bilişim ve veri tabanları, gerçek zamanlı servis ve uygulamalar.

Veri tabanlarına yardımcı teknolojiler

Zynga’nın OMGPOP satın almasında kısaca değindiğimiz, günümüzde veri tabanı dünyasını sarsan en önemli yenilik kuşkusuz NoSQL. Kısaca bahsetmek gerekirse geleneksel veri tabanlarında kayıtlar ilişkisel olarak tutuluyor, NoSQL’de ise bir kayıdın diğer bir kayıt ile herhangi bir bağlantısı yok. Her kayıt, birbirinden bağımsız ve istenildiğinde üzerinde kolayca işlem yapılabilen ayrı birer parça.

NoSQL henüz ilişkisel veri tabanlarının sahip olduğu stabilite ve geliştirici alışkanlığına sahip olmasa da Oracle ve Amazon gibi devlerin yatırım yaptığı oldukça önemli bir konu. Şimdiden Foursquare ve Pinterest gibi gözde startup’ların kullandığı NoSQL teknolojisinin en büyük avantajlarından biri de önemli yüklerle boğuşan şirketlerin, veri güvenliğinin üst düzeyde olmadığı ve çok sık transaction/işlem yaşanan noktalarda NoSQL’i kullanarak önemli performans katkısı alabilmeleri. Bu açıdan baktığımızda yakın gelecekte birçok şirketin daha NoSQL kullanmaya başlayacağını, sistemlerinin tamamını değilse bile belirli bir bölümünü NoSQL’e emanet edeceğini tahmin etmek güç değil.

Bulut bilişim ve veri tabanları

Geçtiğimiz hafta Turkcell’in düzenlediği Turkcell Bilişim Konferansı’na da damga vuran bir diğer önemli konu başlığı ise bulut bilişim. Bulut bilişimin teknolojinin her noktasına olduğu gibi veri tabanlarına da etkisi büyük. 2010 yılının Aralık Ayı’nda Salesforce tarafından 212 milyon dolara satın alınan Heroku haricinde  Google, Microsoft ve Amazon gibi devlerin de bulunduğu pazarda rekabet oldukça fazla.

NoSQL’e nazaran günlük hayatımızda kullandığımız neredeyse tüm uygulama ve web sitelerinin bulut bilişimi yoğun bir şekilde tercih ettiğini söyleyebiliriz.

Gerçek zamanlı servis ve uygulamalar

Veri tabanları hakkında söylenebilecek en önemli konulardan biri de gerçek zamanlı uygulamalar. Yazının başında verdiğimiz örneklere bakacak olursanız tamamında kullandığınız servis ve uygulamanın veri tabanına sorgu yaparak aldığınız veriyi görüntülüyorsunuz. Skype veya Dropbox gibi servislerin bize sunduğu ise başka cihazlar veya kişilere bağlanarak gerçek zamanlı bir iletişim gerçekleştirmek.

Gerçek zamanlı iletişim konusunda ortaya çıkan yeni programlama çözümleriyle (örneğin node.js) birlikte yakın gelecekte bu tarz servis ve uygulamaların sayısının artması oldukça muhtemel.

Yorumları GösterYorumlar Gizle (9)
  1. güncel dedi ki:

    Veritabanı yolunda ilerleyenler ileride çok kazanıcak gibi görünüyorlar

  2. emrahy dedi ki:

    Güzel Yazı. Bence “Bulut Veritabanı” özellikle performans ve ölçeklenebilirlik hedefleyen uygulamalarda öne çıkacak. Bu aralar dikkatimi çeken platform Salesforce’a ait olan database.com could database.

  3. can dedi ki:

    NOSQL’de gelecek CouchDB’de. Query yok, web servis yazmaya gerek yok. Veritabanı kullanılan her uygulamada geliştirme süresini 1/4’e indirme kapasitesine sahip. Ayrıca doğal Replikasyon özelliği ile ölçeklenebilirliğin zirvesinde. Şimdiden CouchDB öğrenin.

  4. bbayer dedi ki:

    Güzel bir konuya değinmişsiniz ama birkaç düzeltme yapmakta fayda var.

    “Zynga’nın OMGPOP satın almasında kısaca değindiğimiz, günümüzde veri tabanı dünyasını sarsan en önemli yenilik kuşkusuz NoSQL.”

    NoSQL bir veritabanı teknolojisi değildir. Sadece nesne tabanlı veritabanlarını row bazlı RDBMS’lerden ayıran bir terimdir. “NoSQL yaklaşımının” OMGPOP’un satın alınmasıyla duyulması konusunu anlayamadım. Zaten çok uzun zamandan beri ortalarda bir sürü gerçekleştirim vardı. Facebook’un kullandığı Cassandra, Apache tarafından geliştirilen CouchDB veya Redis bunlara örnek olarak verilebilir.

    “NoSQL’de ise bir kayıdın diğer bir kayıt ile herhangi bir bağlantısı yok. Her kayıt, birbirinden bağımsız ve istenildiğinde üzerinde kolayca işlem yapılabilen ayrı birer parça”

    Object veritabanları genelde ilişkisel değildir. Bu doğru. Ama tasarlanan şemaların kolay anlaşılabilir olması için birçok veritabanının özellikle client tarafında “foreign key” gerçekleştirimi vardır. (Örnek MongoDB’deki DBRef) Ayrıca “embedded document” kavramıda ilişkisel veriyapısına örnek gösterilebilir ve object tabanlı veritabanlarının en güçlü özelliklerinden biri de budur. Örnek vermek gerekirse bir blog yazısı ve bu yazının birden fazla yorumu tek bir query ile alınabilir. Şema olarak bakarsak blog yazısı başlık, gövde, tarih ve yorum dizisinden oluşan bir sınıf gibi düşünebilirsiniz. Yorumlarında kendi içinde farklı şeması olabilir.

    “NoSQL henüz ilişkisel veri tabanlarının sahip olduğu stabilite ve geliştirici alışkanlığına sahip olmasa da Oracle ve Amazon gibi devlerin yatırım yaptığı oldukça önemli bir konu”

    MongoDb, Cassandra, CouchDb, Redis, Riak gibi veritabanları gayet güzel stabiliteye ve geliştirici altyapısına sahip yazılımlar. Facebook, Yahoo, Google, Amazon ve burada sayamayacağım birçok firma özellikle yüksek yük altında bu yazılımları kullanabilmektedir. Object bazlı veritabanlarında master-slave ilişkisi MySQL gibi RDBMS’lerden biraz farklıdır. Replica setler ve auto-sharding gibi güzellikler yardımıyla verinizi yüzlerce hatta binlerce makineye dağıtıp kolay bir şekilde “fail-safe” sistem oluşturabilirsiniz. Ayrıca özellikle yüksek veri yoğunluğu olan uygulamalarda ( petabyte seviyesi ) çok yüksek performans alınabiliyor.

    “Gerçek zamanlı iletişim konusunda ortaya çıkan yeni programlama çözümleriyle (örneğin node.js) ”

    Node.js Chromium projesinin Javascript motoru V8 üzerine inşa edilmiş server tarafında javascript yazmayı sağlayan bir teknolojidir. Realtime iletişim için ortaya çıkmamıştır. Apache web server gibi teknolojilerden farkı tek thread üzerinden asenkron kod çalıştırmaya izin vermesi ve böylece yüksek request sayılarına düşük donanım konfigürasyonunda ulaşabilmesidir. Bu özelliğiyle realtime uygulamalar için (aslında realtime demek doğru değil anlık demek daha doğru. herhangi bir web uygulamasının realtime yapmak kolay bir iş değil) kullanışlı bir araç diyebiliriz.

    1. hh dedi ki:

      yorum yazıdan daha güzel ve bilgilendirici 🙂

    2. bcakir dedi ki:

      Güzel notlar var, ekstra açıklaman için teşekkürler 😀

    3. bbayer dedi ki:

      Teşekkürler.. Arda Bey isterse yazıda yazarız sorun değil 😛

Bir Yorum Yazın