Skip to content

Latest commit

 

History

History
204 lines (135 loc) · 8.76 KB

File metadata and controls

204 lines (135 loc) · 8.76 KB

BSM211 Veritabanı Yönetim Sistemleri - Celal ÇEKEN, İsmail ÖZTEL, Veysel Harun ŞAHİN

Ders Tanıtımı

Ders tanıtımı için aşağıdaki bağlantıları inceleyiniz.

Veritabanı Sistemleri

Konular

  • Büyük Resim
  • Niçin Veritabanı?
  • Veri ve Bilgi Kavramları
  • Klasik Dosya Yapıları
  • Klasik Dosya Sistemlerinin Zayıflıkları
  • Veritabanı Sistemi
  • Veritabanı Sistemi Ortamı
  • Veritabanı Yönetim Sistemi Kullanmanın Yararları - VTYS ile Dosya Sisteminin Karşılaştırılması
  • Örnek Bir Veritabanı
  • Veritabanı Sınıfları
  • Kaynaklar

Büyük Resim

Niçin Veritabanı

  • Dosyalarda depolanan birbiriyle ilişkili veri topluluklarına veri tabanı denir .
  • Günümüz verileri; terabayt (1024 gigabayt), petabayt, ekzabayt, zetabayt, yotabayt boyutlarında.
  • Çin'in otuz futbol sahası büyüklüğündeki dev teleskobu ile saniyede 38 gigabyte veri toplanmaktadır. (2020)
  • Google, saniyede ortalama 40.000 aramayı işliyor (günlük ortalama 3,5 milyar, toplam günlük arama 5 milyar. Arama sonuçlarının hızlı bir şekilde kullanıcıya getirilmesi sağlanabiliyor. (2018)
  • Facebook kullanıcı sayısı 2 milyar. Günlük ortalama 1,5 milyar kullanıcı aktif. (2018)
  • Her dakika; 4.146.600 YouTube videosu izleniyor, 456.000 tweet atılıyor, Instagram’a 46.740 fotoğraf yükleniyor, Facebook’a 510.000 yorum ekleniyor. (2018)
  • Sprint, AT&T gibi mobil telefon operatörleri trilyonlarca konuşmayı saklamak/yönetmek zorundadır. Saniyede 70.000 konuşma eklenmektedir. (2007)
  • Bu verilerin saklanması/yönetilmesinin yanı sıra istenen bilgiye hızlı bir şekilde ulaşılması da gereklidir.
  • Bir jet uçağı 30 dakikada 10 terabaytlık algılayıcı verisi topluyor. (2012)
  • Nesnelerin interneti. 2020 yılında 50 milyar (bazı kaynaklara göre 200 Milyar) algılayıcının internete bağlanacağı öngörülüyor.
  • Bu kadar büyük boyuttaki verilerin saklanması, yönetilmesi ve hızlı bir şekilde istenen bilgilere ulaşılabilmesi için veritabanlarının kullanımı zorunludur.
  • Veritabanı, günümüzde birçok farklı sektörde ve kurumda yaygın olarak kullanılmaktadır.
    • Finans
    • Eğitim
    • Ulaşım
    • Taşımacılık
    • İletişim
    • Medya
    • Sağlık
    • Bilişim
    • Üretim

Veri ve Bilgi Kavramları

  • İşlenerek anlam kazandırılmamış ham gerçeklere veri denir.
  • Veriler işlenerek bilgi oluşturulur
  • Bilgi, verinin anlamını göstermek için kullanılır.
  • Doğru, ilgili ve zamanında elde edilebilen bilgi, karar verme süreçlerinde çok etkilidir.
  • Doğru karar verme, kuruluşların yaşamını sürdürebilmesi açısından son derece önemlidir.
  • Veri yönetimi, organizasyonların en temel aktivitelerindendir.
  • Veri yönetimi verinin uygun bir şekilde üretimi, saklanması ve erişilmesiyle ilgilenen disiplindir.


Veri Biçimleri

Veritabanlarında saklanan veriler yapısal olarak üç ana grupta ele alınır:

  1. Yapılandırılmış Veri (Structured Data): Belli bir şemaya, satır ve sütun düzenine uyan verilerdir (Örn: İlişkisel veritabanı tabloları).
  2. Yarı Yapılandırılmış Veri (Semi-Structured): Belirli bir tablosal şeması olmayan ancak etiketler/anahtarlar içeren verilerdir (Örn: JSON, XML dosyaları).
  3. Yapılandırılmamış Veri (Unstructured Data): Belli bir kuralı veya dizilimi olmayan ham verilerdir (Örn: Ses kayıtları, videolar, görseller, e-postalar).

Klasik Dosya Yapısı

  • Veriler, kayıtlar halinde klasik dosya yapısı kullanılarak saklanır.
  • Örnek bir dosya yapısı aşağıda verilmiştir.

Veritabanı Sistemi

  • Veritabanı Sistemi = Veritabanı + VTYS + Kullanıcılar
  • Dosyalarda depolanan birbiriyle ilişkili veri topluluklarına veritabanı denir .
    • Veritabanı = HamVeri + ÜstVeri/Metadata (İlişkiler+Veri Karakteristikleri)
  • Veritabanı yapısını yöneten ve verilere erişimi sağlayan yazılımlara Veritabanı Yönetim Sistemi adı verilir.

Veritabanı Sistemi Ortamı

  • Donanım
    • Suncular, iş istasyonları, ağ ortamı, depolama cihazları, raid vb.
  • Yazılım
    • İşletim Sistemleri
    • VTYS (PostgreSQL, MySQL, DB2, Oracle, MSSQL, Cassandra, MongoDB, Redis vb.)
    • Uygulama programları ve yardımcı programlar
  • Kişiler
    • Sistem yöneticisi, veritabanı yöneticisi, veritabanı tasarımcısı, uygulama programcısı, kullanıcı
  • Veri

Veritabanı Yönetim Sistemi Kullanmanın Yararları

VTYS ile Dosya Sisteminin Karşılaştırılması

  • Veri Tümleştirme (Data Integration): Verilerin tekrarsız olarak etkin bir şekilde saklanması garanti edilebilir.
  • Veri Bütünlüğü (Data Integrity): Verilerin bozulmadan ve tutarlı olarak saklanması sağlanabilir. Kısıtlar eklenerek veri tutarsızlığı önlenebilir (key constraints, integrity rules).
  • Veri Güvenliği (Data Security): Sistem hataları karşısında ya da saldırıya rağmen verilerin kaybolmaması ve tutarlılığının korunması sağlanabilir (transaction, raid sistemler, kurtarma mekanizmaları, gelişmiş yetkilendirme yapısı vb.).
  • Veri Soyutlama (Data Abstraction): Kullanıcıya, karmaşık yapıdaki fiziksel veri yapısı yerine anlaşılabilirliği ve yönetilebilirliği daha kolay olan mantıksal model sunulur.

VTYS ile Dosya Sisteminin Karşılaştırılması

  • Klasik dosyadan okuma işlemi
String dosya = "Ogrenciler.dat";
try {
    FileReader fileReader = new FileReader(dosya);
    BufferedReader bufferedReader = new BufferedReader(fileReader);

    String satir = null;
    while ((satir = bufferedReader.readLine()) != null) {
        System.out.println(satir);
    }
    bufferedReader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  • VTYS (SQL) ile okuma işlemi
SELECT * FROM Ogrenciler;

Örnek Bir Veritabanı (Varlık Bağıntı Modeli)

Örnek Bir Veritabanı (İlişkisel Model)

Veritabanı Sınıfları

  • Kullanım Amacı
    • Operasyonel: Veriler üzerinde sürekli değişiklikler yapılır. (OLTP: Online Transaction Processing)
    • Veri Ambarı: Veriler raporlama ve karar destek amaçlarıyla kullanılır. (OLAP: Online Analytical Processing)

Veritabanı Çeşitleri ve Güncel Yaklaşımlar

Bu dersin ana odağı İlişkisel Veritabanı Yönetim Sistemleri olmakla birlikte, günümüz bilişim sistemlerinde farklı veri yapıları ve performans ihtiyaçlarına göre geliştirilmiş çeşitli veritabanı yaklaşımları bulunmaktadır:

  1. İlişkisel Veritabanları (RDBMS): Verileri tablolar, satırlar ve sütunlar halinde tutar. Veri bütünlüğü (ACID) ön plandadır.

    • (Örn: PostgreSQL, MySQL, Oracle, MS SQL Server)
  2. NoSQL Veritabanları: Esnek, şemasız (schema-less) ve yüksek ölçeklenebilirlik gerektiren durumlar için kullanılır.

    • Doküman Tabanlı (Document): JSON/BSON biçiminde veri saklar (Örn: MongoDB).
    • Anahtar-Değer (Key-Value): Hızlı önbellekleme sağlar (Örn: Redis).
    • Sütun Odaklı (Columnar): Büyük veri analitiği için tasarlanmıştır (Örn: Cassandra).
    • Çizge Tabanlı (Graph): Ağ ve ilişki haritalarını modeller (Örn: Neo4j).
  3. NewSQL (Dağıtık İlişkisel Veritabanları): NoSQL'in yüksek ölçeklenebilirliği ile RDBMS'in SQL ve ACID veri bütünlüğü garantisini birleştirir.

    • (Örn: CockroachDB, Google Cloud Spanner)
  4. Vektör Veritabanları (Vector Databases): Yapay zekâ ve makine öğrenmesi modellerinin ürettiği matris/vektör verilerini saklar ve benzerlik aramaları (similarity search) yapar.

    • (Örn: Pinecone, Milvus, Qdrant)
  5. Zaman Serisi Veritabanları (Time-Series): IoT sensörleri, borsa verileri ve sistem logları gibi zaman damgalı (timestamp) akış verilerini hızlıca işlemek için optimize edilmiştir.

    • (Örn: InfluxDB, TimescaleDB)

Kaynaklar