veritabani-cover

Veritabanı Teknolojisine Bakış

Veritabanları, aradığımız bilgiyi geri dönüp bulabilmemiz için saklayan, organize eden ve işleyen veri yığınlarıdır. Basit ya da kompleks veritabanlarıyla kütüphane kart kataloglarında, finansal kayıtlarda, hatta telefon rehberlerinde bile karşılaşırız. Peki web sitesi bağlamında veritabanı nedir?


Veritabanları, aradığımız bilgiyi geri dönüp bulabilmemiz için saklayan, organize eden ve işleyen veri yığınlarıdır. Basit ya da kompleks veritabanlarıyla kütüphane kart kataloglarında, finansal kayıtlarda, hatta telefon rehberlerinde bile karşılaşırız. Peki web sitesi bağlamında veritabanı nedir?

Veritabanları, yapılandırılmış bilgiyi işler ve bu bilgi üzerinde hemen hemen her türlü işlemi yapmak üzere tasarlanabilir. Takip etme, organize etme, düzenleme, veriyi toplama ve bu verilerden raporlar oluşturma ya da bilgi açısından zengin, dinamik web siteleri için temel oluşturma...

Bir telefon defterini düşünelim. Bu defterde isimler, adresler, telefon numaraları gibi, aynı formatta organize edilmiş pek çok bilgi bulunur. Veritabanı terminolojisinde bu defter bir tablo, defterde bilgisi olan herkes birer kayıttır. Bu kişilerin telefon numaraları isimleri, adresleri ise birer bilgi alanı demektir. Defterdeki isimler alfabetik olarak sıralandığından, buradaki soyadları anahtar bilgi alanıdır. Anahtar bilgi alanı olarak soyadı seçildiğinden, defterdeki bilginin nasıl sıralanacağını da o belirler. Telefon numarası ya da apartman numarasıyla bir sıralama yapmak, binlerce bilgi girişi arasından bize istediğimizi vermeyecektir. Bu yüzden akıllı sıralama, veritabanı teknolojisinin köşetaşlarından biridir.

Telefon defteri örneği düz ve tek dosya bir veritabanı içerir. Peki, birbirleriyle etkileşimli çoklu tablolar içeren daha karmaşık bir veritabanına ne zaman ihtiyaç duyarız?

Mesela bir e-ticaret sitesi üzerinden verdiğiniz bir siparişin durum güncellemesini öğrenmek istiyorsunuz. Bu web sitesi; siparişler, tarihler, ödemeler, sipariş takibi, envanter, satıcılar ve müşteriler için çoklu dosya veritabanına sahiptir. Veritabanı tablolarının birbirlerine bağlanmasıyla, siparişler ile ilgili herhangi bir sorgu olması durumunda, bu tablolardaki bilgiyi kullanarak veritabanı bize bir rapor oluşturabilir. Bu veritabanlarına ilişkisel veritabanı denir.

Veritabanı teknolojisinin temelleri ilk "ilişkisel veri modeli" ile 1970'lerde atılmıştır. Bugün, ilişkisel veritabanları, web sitelerinin yapımında hala büyük önem taşır. Bir veritabanından veri görüntüleyen herhangi bir websitesi; sunucu tarafı komut dosyası, HTML&CSS , SQL (veritabanı programlama dili) ve veritabanı yönetim sistemine (DBMS) sahip olmalıdır.

Veritabanı yönetim sistemleri, organizasyonların verilerini efektif bir şekilde yönetebilmesi ve bu verilerden amaca uygun bilgilerin elde edilmesini sağlar. Bu sistemler, veri yönetimini direkt olarak destekleyen teknolojik araçlardır. Veritabanındaki verinin tanımlanması, manipüle edilmesi ve yönetilmesi amacıyla tasarlanmış paket programlardır. Bu sistemlerin önemini daha iyi anlamak için ilişkisel veritabanlarına geri dönelim.

İlişkisel veritabanlarının birbirlerine bağlı bilgileri olan tablolar içerdiklerinden bahsetmiştik. Bu tablolara veritabanı nesneleri denir ve bu nesneleri oluşturmak ve yönetmek için bir ilişkisel veritabanı yönetim sistemine (RDMS) ihtiyaç duyulur. Bu sistemler, ilişkisel veritabanı geliştiricileri için; veri sorgulama, veriyi sıralama ve düzenleme, veritabanı yapısının bütünüyle tasarlanması, raporlar üretilmesi, veri noktalarının onaylanması ve tutarsızlıkların kontrol edilmesi için araçlar içerirler. MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase ve IBM DB2 en çok bilinen veritabanı yönetim sistemleridir. İlişkisel veritabanı yönetim sistemlerinin, geliştiriciler tarafından CRUD( Create, Read, Update, Delete) olarak bilinen temel fonksiyonları dışında; nesnelerin depolanması, eşzamanlılık kontrolü, işlem kontrolü, referans bütünlüğünü güçlendirmek gibi pek çok gelişmiş özellikleri de vardır. 

İlişkisel veritabanları, yapılandırılmış veriyi organize etme ve bize sunma konusunda ne kadar iyi olsalar da veri tutarsız, eksik ya da çok fazla olursa, organizasyonu için daha esnek bir veritabanına ihtiyaç duyar. Bugün, toplanabilen veri inanılmaz boyutlara ulaştığından, ilişkisel olmayan, dağınık NoSQL veritabanı kullanılmaya başlandı. NoSQL, geleneksel ilişkisel modelden uzaklaşarak, web üzerinden toplanan verinin yapılandırılmış olmamasına bu anlamda bir çözüm getirdi. Bu veritabanları, tabloları kullanmaz, döküman tabanlıdır. Bu şekilde, yapılandırılmamış veri (makaleler, fotoğraflar, sosyal medya verisi, videolar) kolayca bulunan tek bir dökümanda depolanabilir ancak kategorize olmuş adres alanlarına sahip değildir. Daha sezgiseldir ve daha fazla depolama alanı ve efor gerektirir. Bu yüzden Hadoop'un(büyük veri kümeleri ile birden fazla makinada paralel olarak işlem yapmamızı sağlayan açık kaynak kodlu kütüphane) veritabanı platformlarına entegre edilmesi oldukça işlevseldir.

Önümüzdeki yıllarda, büyük verinin meydan okuduğu geleneksel veritabanı modellerinin yerini almaya başlayan NoSQL veritabanlarının da gelişmiş özelliklerini arttıracaklarına kuşku yok.

Bu veritabanlarıyla ilgili daha fazla bilgi almak için şu sitelere göz atmanızı tavsiye ederiz:

http://www.nosql-database.org/ 

http://www.upwork.com/hiring/data/sql-vs-nosql-databases-whats-the-difference/

0
 

Yorum

Zaten Hesabınız Varsa Buradan Oturum Açın
Henüz bir yorum yapılmamış. İlk yorum yapan siz olun
Haydi Binyaprak'lı Ol