Veritabanı Nedir? - Mustafa Sabri OĞUZ

Duyurular

8 Ağustos 2021 Pazar

Veritabanı Nedir?

Veri tabanı, bir veya birden fazla verinin düzenli bir biçimde depolanması ve ihtiyaç halinde gerekli veriye en kısa sürede erişimi sağlayan sistemdir.

Veri tabanları, modern dünyamızın temel bir unsurudur. Öyle ki bilmesek te farkında olmasak ta veri tabanlarını öyle de böyle de kullanırız. Mesela online alışveriş sitelerinden bir şey alırken, bir servise giriş yaparken, internet bankacılığında kullandığımız kişisel banka hesaplarında ve bir çok işlem de bile...

Veri tabanı mantığı aslında günümüzde var olan bir şey değil. Bilgisayarların ve akıllı telefonlardan bile önce, öyle ki milattan önce ilk dönem insanlarında bile kullanılan bir mantıktı. Kim bilir belki yazıyı icat etme gereksinimi bu mantık sayesinde gerçekleşmiştir. Düşünün o yıllardan bu yana her şey kağıt üzerinde işlenirdi. İnsanoğlu verilerini defterlere kayıt eder ve kütüphanelerinde yüzlerde dosyaların içerisinde arşivlemek zorunda kalırdı. Bu yöntem de; dosya içerisinden istenen bilgiyi arayıp, bulmak oldukça zordu ve biriken kağıt sayısından dolayı oldukça da yer tutan bir olaydı. Bir de bu belgelerin yedeklenmesi apayrı bir mesele idi.

Tabi bu durum bilgisayarların gelmesiyle değişti. Artık kağıt üzerine işlenen veriler, bilgisayarlar sayesinde elektronik ortamda işlenmeye başladı. Bilgisayarın sağladığı avantajlar sayesinde veriler daha verimli bir şekilde yönetilebilir oldu.

Veri Nedir? Bilgi Nedir?

Şimdi yazımızın başında ki tanıma geri dönecek olursak, "Bir veya birden fazla veri mi?" gibi bir soru aklınızda oluşmuş olabilir. Bu konuyu daha önce düşünmeyenler için biraz açıklamak istiyorum.

Veri, bilginin en temel çekirdeğidir. Bunu açıklamamamda ki sebep genellikle modern veri tabanlarında verilerin işleniyor oluşudur. Çünkü veri tabanlarını etkili bir şekilde kullanabilmek için gereksiz tanımlardan arındırılması ve tekrarlanmaması performans açısından büyük önem arz ediyor. Özetle veri, yalındır. Örnek; doğum tarihi, yaş sayısı, kilo ve uzunluk sayıları, isimler vb...

Bilgi, bir veya birden fazla verinin işlenerek (yorumlanarak) anlamlı ve işe yarar bir olguya veya yapıya dönüştürülmesine denir. Bu dönüştürme işlemine bilgi biliminde enformasyon denir.

Dostum "Ne verisi?, ne bilgisi?, ne enformasyonu? Beni iyice kaybetmeye başlıyorsun." mu diyorsun. Sakin ol! Elimden geldiğince bir örnek ile anlatmaya çalışacağım.

Şimdi en başından başlayalım. Veri tabanı için kullanılan en temel yapı veridir. Veri, tek başına anlamı olmayan ifadelerdir.  Örnek "15 Ocak 1929" tarihi sizin için bir anlam ifade ediyor mu? Yada "Doğum" kelimesi? biraz anlamlı olsa da hala anlamlı değil, değil mi? Peki bir veri daha paylaşayım sizinle "Martin Luther King, Jr." Şimdi bir anlam çıkarabildiniz değil mi? Evet, çıkardığınız bu anlam, Martin Luther King, Jr.'ın 15 Ocak 1929 tarihinde doğduğu bilgisiydi. Olayı anlamaya başladınız değil mi? 

Kısaca: ilişkili verilerin bir araya gelerek faydalı bir bilgiye dönüşmesi veya dönüştürülmesidir.

Tarihçesi

Şimdi birlikte veri tabanının tarihsel yolculuğuna bakalım. Yazımın başında da söylediğim gibi insanın ilk yazılı kaynağından 1960'lı yılların başına kadar kağıt üzerinden de olsa veri tabanı var olan bir kavramdı.

1960 yıllar - Her şeyin başladığı yer...

Bilgisayarların gelişiyle birlikte 1960'lı yılların başında Charles Bachman, bilgisayar üzerinde ilk entegre veri deposunu (Integrated Data Store - IDS) tasarladı. Kısa bir süre içerisinde IBM firması kendi oluşturduğu, Bilgi Yönetim Sistemini (Information Management System - IMS) duyurdu. Bu iki veri tabanı Yönlendirici (Navigational) veri tabanının öncüleri olmuşlardır.

Ayrıca bu yıllar da Hiyerarşik model ve Ağ (Network) modelinin ortaya atıldığı yıllardı. Bu modellerin birbirine benzerliklerinden dolayı Yönlendirici Veri Modeli (Navigational Data Model) olarak isimlendirilmişlerdir. Bu modelleri verimli bir şekilde kullanabilmek için CODASYL adında bir konsorsiyum oluşturuldu.

1970 yıllar - İlişkisel Veri Tabanları

Bu yıllara geldiğimiz de ise bir IBM çalışanı olan Edgar F. Codd, Yönlendirici Veri Modelinin hantal bir model olduğunu düşünerek, günümüzde halen kullanmakta olduğumuz İlişkisel Veri Modelini (Relational Model of Data) ortaya attı ve onun sayesinde İlişkisel Veri Tabanları (Relational Database) bu yıllarda ortaya çıktı. Bu yeni modeli destekleyecek ve verimli şekilde çalışmasını sağlayacak ilk SQL dili geliştirildi.

Bu yıllar içerisinde 1974 yılında IBM "System R" ile prototipini geliştirmiş.  1979 yılında ise Oracle veri tabanı kendini göstermeye başlamıştı.

1980 yıllar - Büyüme ve Standartlaşma Süreci

Artık ilişkisel veri modelinin piyasayı sardığı ve yaygınlaştığı yıllardayız. Öyle ki artık SQL dili varsayılan sorgulama dili olarak kabul ediliyor. Seksenlerin sonlarına doğru Microsoft MSSQL veri tabanını geliştirdiğini duyuracak ve SQL dili T-SQL ve PL-SQL olarak ikiye ayrılacaktı. 1983 yılında ACID standarttı ortaya çıkmıştır. Her harfi bir prensibi temsil eden ve bugün bile bu prensipler, gerçekleştirdiğimiz sorguların güvenliğini ve doğruluğunu sağlamaktadır.

1990 yıllar - Hoş Geldin İnternet!

Dünya olarak internetle tanıştığımız yıllara geldik. Basit internet sayfaları, Yahoo mail servisi, Google arama motoru ve Microsoft MSN'nin hayatımıza girdiği yıllar... "Msn'den Manitayı dürtelim.", "Mirc'de az lak lak edelim.",  "Kanka baksana siteden bana elektronik posta geldi." dediğimiz nostalji dolu günlerdi. 

Bu yıllar her ne kadar internetin emekleme çağları da olsa büyük yatırımcıların işlerini online ortama taşımaya çalıştığı zamanlardı ve veri tabanlarına olan ihtiyaç giderek artıyordu.  İşte bu yıllarda C++ ve Java dilleriyle birlikte Nesne yönelimli programlama mantığı ortaya çıktı. Bu gelişmelerin peşinden doğal olarak Nesnesel Veri tabanı Yönetim Sistemi (ODBMS - Object Database Management Systems) geliştirilmiştir. Bunların haricinde ilişkisel açık kaynaklı veri tabanları MYSQL ve PostgreSQL bu dönemde geliştirilmiştir. Ekstra bilgi: Günümüzde MYSQL'in haklarını Oracle firması satın aldığından dolayı hayatına MariaDB olarak devam etmektedir.

2000 yıllar ve günümüz - NoSQL

Milenyum çağına girmiş, insanlar internetin varlığına iyice alışmaya başladığı yıllar... Zamanla o kadar alıştık ki, teknolojinin gelişimiyle birlikte tembelleştik ve giderek kalabalıklaşan insan topluluğuna rağmen iyice yalnızlaştık. Artık yalnızlığımızı gidermek için sosyal medya platformları kurulmaya başladı. Facebook, Twitter, Google+ ve Youtube gibi her yaptığımızı paylaşır ve verilerimizi veri tabanlarına kendimiz işler olduk. Böylece Big Data kavramı hayatımıza girdi. Bununla da yetindik mi dersiniz? Hayır, peşinden Akıllı telefonları icat ettik ve sadece evde gerçekleştirdiğimiz aktiviteyi dışarılara taşıdık. Artık bu teknolojiyi her yerde kullanabilir olduk. Bitcoin zinciri ile paramızı dijitalleştirmeye başladık. Yakın bir zamanda Nesnelerin İnterneti (Internet of Things - IoT) hayatımıza girdi ve her şeyi oturduğumuz yerden hükmetmeye başlar olduk. 

İhtiyaçlarımız katlanan dünya nüfusuna göre katlanarak arttı. Bu ihtiyaçlarımızı karşılayabilecek yollar aramaya başladık. Dikey ölçeklemenin (Vertical scaling / Scale up) sınırlarını zorlayabildiğimiz kadar zorladık. Artık yatay ölçeklemeye (Horizontal Scaling / Scale Out**)** yöneldik. Yani tek bir veri tabanı bize yeterli gelmedi ve birden fazla veri tabanı oluşturup, bunları birbirine bağladık. Bu da yeterli gelmedi; Yapay Zekalar (AI - Artificial İntelligence) geliştirmeye, daha gelişmiş bilgisayarlar tasarlamaya, SQLite, NoSQL gibi farklı veri tabanı ve veri modeli çözümleri üretmeye başladık.

İlerleyen yıllarda neler olacak, hep beraber oturup, göreceğiz... "Bunca gelişmeyi ve bundan sonra gelişecek her şeyi veri tabanlarına borçluyuz." desem abartmış olmam sanırım.

Veri Tabanı Çeşitleri Nelerdir?

Günümüzde kullanılan başlıca veri tabanlarını sıralamak istiyorum;
  1. Mssql Server
  2. Microsoft Access
  3. Oracle Database
  4. SQLite
  5. Postgresql
  6. MariaDB
  7. NoSQL çözümler
  8. Vb...
Bunların dışında kullanılan bir çok veritabanı isimleri ve farklı yöntemleri tabi ki vardır. Bu yazımda bilindikleri yazmayı uygun gördüm.

Listelenen veri tabanlarını teknik olarak incelersek;
  1. 1. Kendilerine özgü fonksiyon ve metotları dışında hepsi aynı sorgulama dilini kullanıyor. Yani SQL
  2. MSSQL ücretli bir kullanım sunarken, diğerleri veri tabanı yazılımları için sadece destek almak için lisans ücreti ödemek durumunda kalabilirsiniz. Bunun dışında kullanımı ücretsizdir. (Not: Zaman içerisinde bu şartlar değişiklik gösterebilir. Bunu da belirtmekte fayda var.)
  3. MSSQL ve ORACLE Database, büyük hacimli verilere ve doğal olarak büyük ölçekli firmalara hitap etmektedirler.
  4. Diğer veri tabanları orta ve küçük ölçekli verilere hitap etmektedir ve genelde bireysel kullanıcılar tarafından oldukça sevilirler. Lakin ben burada böyle bir yorumda bulunmam, bahsi geçen veri tabanlarını küçümsediğim anlamı çıkarılmasın! Doğru bir kullanım şekliyle hepsi de oldukça başarılı veri tabanı yazılımlarıdır.

Veri Tabanının Faydaları ve Zararları

Faydaları;
  • Yer ve zamandan tasarruf etmenizi sağlar,
  • Aradığınız bir veriyi hızlıca bulabilmenizi sağlar,
  • Kolay yedeklenebilir,
  • Güvenlidir.
Zararları;
  • Aslında bakış açınıza göre bu durum değişir. İyi ellerde herhangi bir zararı bulunmuyor. Fakat sizde Facebook mahkemelerini duymuş olmalısınız. Parasal ve siyasal çıkar amacı taşıyan art niyetli insanların elinde bir silaha dönüşebilir.

Yazımı buraya kadar okuduğunuz için teşekkür ederim. Böyle bir makale çıkarabilmek oldukça fazla vaktimi aldı. Hatta bir ara yazı yazmaktan soğuttuğunu söyleyebilirim. Bu sebeple yazıya hiç görsel görsel hazırlamadan, hızlıca çıkarmak istedim. İlerleyen zamanlarda yazımın eksikliklerini gidermek adına tekrar incelemeye alacağım. Bu süre zarfında öneri ve eleştirileriniz varsa, bana yorumlar bölümünden yazabilirsiniz. İyi günler dilerim...

Faydalandığım Kaynaklar;

Hiç yorum yok:

Yorum Gönder