CENG 465

Veri-Yoğun Sistemlerin İlkeleri

Bu derste öğrenciler aşağıdaki alanlarda bilgi sahibi olacaklardır: Çeşitli veri modelleri ve sorgu dilleri; veri depolama ve veri getirme; dağıtık verilerde çoğaltma ve bölümleme; işlemler; dağıtık sistemlerin zorluklarları; dağıtık sistemlerde tutarlılık ve fikir birliği; toplu işlem ve akış işleme.

Dersin Amacı

Bu dersin temel amacı, öğrencilerin veri yoğun sistemlerin altında yatan temel kavramlarla tanışmalarını sağlamaktır. Öğrenciler, verilerin saklanması ve işlenmesine yönelik farklı yaklaşım, teknik ve araçları karşılaştırmayı, bunların güçlü ve zayıf yönlerini değerlendirmeyi ve çeşitli uygulama ihtiyaçları için en uygun çözümleri belirlemeyi öğreneceklerdir.

Dersin Kitabı / Önerilen Kaynaklar

M. Kleppman. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O’Reilly Media, Inc., 2017.
T. Özsu, P. Valduriez. Principles of Distributed Database Systems. Springer, 4th ed., 2020.

Öğrenme Çıktıları

  1. Veri yoğun uygulamalarda kullanılan temel terminolojiyi tanımlayabilme
  2. Farklı veri modellerini ve sorgulama dillerini karşılaştırabilme
  3. Belirli bir amaç için hangi teknolojinin, tekniğin ve aracın uygun olduğuna karar verebilme
  4. Veri yoğun uygulamalar tasarlayabilme
Konular
Güvenilir, Ölçeklenebilir ve Sürdürülebilir Uygulamalar
Veri Modelleri ve Sorgu Dilleri (1)
Veri Modelleri ve Sorgu Dilleri (2)
Veri Depolama ve Erişim
Dağıtık Veri Çoğaltma
Dağıtık Veri Bölütleme
Ara Sınav
Tek Düğüm ve Dağıtık Veritabanlarında İşlemler (1)
Tek Düğüm ve Dağıtık Veritabanlarında İşlemler (2)
Dağıtık Sistemlerin Zorlukları
Dağıtık Sistemlerde Tutarlılık ve Uzlaşma
Toplu İşlem
Akış İşleme
Proje Sunumları

Değerlendirme

Vize 40%

Proje 20%

Final 40%

Tamamlayıcı Ders: CENG315