Veritabanları
51 kurs, 865 ders. Tarayıcıda gerçek Kali Linux labı.
- Veritabanı kavramları: neden, nasıl, hangisi (Seviye 101, 15 ders): Verinin neden dosyalar yerine veritabanında tutulduğunu, ilişkisel, belge ve anahtar-değer modellerinin farkını ve bir iş için doğru motoru seçmeyi örneklerle öğrenirsin.
- SQL temelleri (MySQL) (Seviye 101, 21 ders): Tablolar, sorgular, birleştirmeler ve kullanıcı yetkileri.
- SQL sorgu alıştırmaları (Seviye 101, 16 ders): Kütüphane, mağaza ve klinik gibi hazır veri kümelerinde kısa sorgu görevleri çözer, her bölümün sonunda öğrendiklerini tek bir raporda birleştirirsin.
- PostgreSQL’e hızlı başlangıç (Seviye 101, 15 ders): psql ile bağlanır, ilk veritabanını ve tablolarını kurar, veri ekleyip sorgular ve kullanıcı açarak PostgreSQL’in temel işleyişini sıfırdan öğrenirsin.
- SQLite temelleri (Seviye 101, 17 ders): Telefonlarda, tarayıcılarda ve uygulamalarda çalışan tek dosyalık SQLite veritabanını sıfırdan kurup sorgulamayı öğrenirsin.
- MongoDB (Seviye 101, 18 ders): Belgeler, koleksiyonlar, sorgular ve erişim denetimi.
- Redis (Seviye 101, 16 ders): Anahtar-değer yapısı, veri türleri, önbellek ve yapılandırma.
- Veri modelleme ve şema tasarımı (Seviye 201, 18 ders): Bir işin ihtiyaçlarından varlıkları ve ilişkileri çıkarır, ER diyagramı çizer, normalleştirmeyle tekrarı ve tutarsızlığı giderir, doğruluğu kısıtlarla veritabanına emanet edersin.
- SQL ara düzey: birleştirme, alt sorgu, küme işlemleri (Seviye 201, 19 ders): Her türden birleştirmeyi, ilişkili alt sorguları, EXISTS’i, küme işlemlerini ve koşullu ifadeleri kullanarak gerçek iş sorularını tek sorguda yanıtlarsın.
- MySQL yönetimi: kurulum, yapılandırma, izleme (Seviye 201, 19 ders): MySQL sunucusunu kurar, yapılandırma dosyalarını ve günlükleri yönetir, kullanıcı ve depolama motoru ayarlarını yapar, düzenli bakım işlerini otomatikleştirirsin.
- PostgreSQL (Seviye 201, 18 ders): psql, şemalar, roller, indeksler ve yedekleme.
- SQLite ileri düzey: dayanıklılık, arama ve şifreleme (Seviye 201, 16 ders): SQLite’ta eşzamanlılığı, tam metin aramayı, JSON’u, şifrelemeyi ve uygulama veritabanlarının adli incelemesini öğrenirsin.
- MongoDB veri modelleme (Seviye 201, 18 ders): Uygulamanın erişim desenlerinden yola çıkarak gömme ve referans kararları verir, şema doğrulama ve sürümleme ile esnek ama düzenli koleksiyonlar tasarlarsın.
- MongoDB yönetimi (Seviye 201, 16 ders): mongod’u yapılandırır, kullanıcıları ve rolleri yönetir; içe ve dışa aktarma araçlarını, günlükleri ve temel izlemeyi kullanarak bir MongoDB sunucusunu günlük olarak işletirsin.
- Redis ile uygulama kalıpları (Seviye 201, 16 ders): Python uygulamalarında Redis’i önbellek, oturum deposu, sayaç, kuyruk ve sıralama tablosu olarak kullanır; her kalıbın tuzaklarını ve doğru anahtar tasarımını öğrenirsin.
- Veritabanı projesi: kütüphane sistemi (Seviye 201, 15 ders): Bir kütüphanenin ödünç verme sistemini gereksinimden şemaya, veriden sorgulara, yetkilerden yedeğe kadar uçtan uca kendin tasarlayıp kurarsın.
- Analitik SQL: pencere fonksiyonları ve raporlama (Seviye 301, 19 ders): Pencere fonksiyonları, özyinelemeli CTE’ler, gruplama kümeleri ve pivot ile sıralama, hareketli ortalama, kohort ve huni gibi analiz raporlarını SQL’de üretirsin.
- İşlemler ve eşzamanlılık (Seviye 301, 18 ders): İki oturumu yan yana açarak ACID özelliklerini, yalıtım düzeylerinin izin verdiği anormallikleri, kilitleri, MVCC’yi ve kilitlenmeleri PostgreSQL ve MySQL’de canlı gözlemlersin.
- SQL bulmacaları ve görevler (Seviye 301, 16 ders): Gerçek işlerden alınmış zorlu veri sorularını tek bir SQL sorgusuyla çözer, çözümünü doğruluk ve hız açısından sınarsın.
- MySQL ileri düzey: performans, çoğaltma ve güvenlik (Seviye 301, 27 ders): MySQL’de hızlı sorgu yazmayı, veriyi yedekleyip çoğaltmayı ve sunucuyu güvenli yapılandırmayı öğrenirsin.
- MySQL yedekleme ve kurtarma (Seviye 301, 15 ders): mysqldump, mydumper ve fiziksel yedekle MySQL verisini korur, binlog ile belirli bir ana döner, geri yükleme sürelerini ölçüp yedekleri düzenli olarak sınarsın.
- PostgreSQL yönetimi (Seviye 301, 19 ders): Bir PostgreSQL kümesini kurup yapılandırır; rolleri, bağlantıları, uzantıları, günlükleri ve istatistik görünümlerini yönetir, sürüm yükseltmeyi güvenle yaparsın.
- PostgreSQL yedekleme ve kurtarma (Seviye 301, 15 ders): pg_dump biçimleri, pg_basebackup, WAL arşivi ve pgBackRest ile PostgreSQL yedekleri kurar, belirli bir ana döner ve geri yüklemeyi düzenli tatbikatlarla kanıtlarsın.
- PostgreSQL’de sunucu tarafı programlama: PL/pgSQL (Seviye 301, 17 ders): PL/pgSQL ile fonksiyon, yordam ve tetikleyiciler yazar; hata yönetimini, dinamik SQL’in güvenli kullanımını ve veritabanı kodunu pgTAP ile sınamayı öğrenirsin.
- PostgreSQL ileri düzey: performans, çoğaltma ve güvenlik (Seviye 301, 27 ders): PostgreSQL’de zengin veri türlerini, hızlı sorguları, yedek ve çoğaltmayı, satır düzeyinde güvenliği öğrenirsin.
- Uygulamalarda SQLite (Seviye 301, 16 ders): Python ve Node.js uygulamalarında SQLite’ı doğru bağlantı, işlem, şema geçişi, eşzamanlılık ve test düzeniyle kullanır, üretimde güvenle çalıştırırsın.
- MongoDB ileri düzey: toplama, çoğaltma ve güvenlik (Seviye 301, 23 ders): MongoDB’de raporlama sorguları, indeks ve şema desenleri, replika kümeleri ile erişim denetimi ve şifrelemeyi öğrenirsin.
- MongoDB toplama boru hattı derinlemesine (Seviye 301, 17 ders): Toplama boru hattının aşamalarını ve ifade işleçlerini derinlemesine kullanarak raporlar, pencere hesapları, zaman serisi analizleri ve veri dönüşümleri üretirsin.
- Redis ileri düzey: akışlar, çoğaltma ve güvenlik (Seviye 301, 22 ders): Redis’te kuyruk, sıralama ve olasılıksal sayım kalıplarını kurup sunucuyu izlemeyi ve güvenle yapılandırmayı öğrenirsin.
- Veritabanı yedekleme stratejisi ve felaket kurtarma (Seviye 301, 16 ders): Farklı motorlar için kurtarma hedeflerinden yedek planı türetir, yedekleri otomatikleştirip şifreler, uzak kopyalar tutar ve tatbikatlarla felaketten dönüşü kanıtlarsın.
- Veritabanı izleme ve gözlemlenebilirlik (Seviye 301, 15 ders): Bağlantı, sorgu, kilit, çoğaltma ve disk ölçümlerini toplayıp panolara döker, anlamlı uyarı kuralları yazar ve bir sorunun izini ölçümlerden günlüklere kadar sürersin.
- Şema geçişleri ve kesintisiz değişiklik (Seviye 301, 15 ders): Geçiş araçlarıyla şemayı sürümler, büyük tablolarda uzun kilit tutmadan sütun ve indeks değişikliği yapar, veri doldurma ve geri dönüş planlarını uygularsın.
- Veritabanı sorun giderme görevleri (Seviye 301, 15 ders): Disk dolması, kilit kuyrukları, çoğaltma gecikmesi ve bozuk yedek gibi gerçek arıza senaryolarında nedeni bulur, düzeltir ve kısa bir olay raporu yazarsın.
- SQL sorgu iyileştirme (Seviye 401, 18 ders): Yürütme planlarını okur, B-ağacı indekslerin nasıl çalıştığını, birleştirme algoritmalarını ve istatistikleri kavrar, yavaş sorguları ölçerek hızlandırırsın.
- MySQL çoğaltma ve yüksek erişilebilirlik (Seviye 401, 17 ders): GTID tabanlı, yarı eşzamanlı ve grup çoğaltması kurar; MySQL Router ve ProxySQL ile trafiği yönetir, arıza ve geri dönüş tatbikatı yaparsın.
- MySQL performans ayarı (Seviye 401, 17 ders): performance_schema ve sys şemasıyla darboğazları bulur, InnoDB bellek ve disk ayarlarını iş yüküne göre yapar, sysbench ile önce ve sonra ölçersin.
- PostgreSQL performans ayarı (Seviye 401, 18 ders): pg_stat_statements, auto_explain ve pgbench ile darboğazları ölçer; bellek, checkpoint, autovacuum ve paralel sorgu ayarlarını iş yüküne göre yapar, planları iyileştirirsin.
- PostgreSQL çoğaltma ve yüksek erişilebilirlik (Seviye 401, 16 ders): Akış ve mantıksal çoğaltma kurar; eşzamanlı kopyaları, çoğaltma yuvalarını ve gecikmeyi yönetir, Patroni ile otomatik yük devretme ve tatbikatlar yaparsın.
- SQLite dosya biçimi ve veri kurtarma (Seviye 401, 15 ders): SQLite dosyasının başlığını, sayfalarını, B-ağaçlarını, boş listesini ve WAL dosyasını onaltılık düzeyde inceler; silinmiş kayıtları ve bozuk dosyaları kurtarırsın.
- MongoDB replika kümeleri ve parçalama (Seviye 401, 17 ders): Replika kümesi kurar; seçimleri, okuma tercihlerini ve yük devretmeyi yönetir; parçalı küme kurup parça anahtarı seçer, dengeleme ve yeniden parçalamayı uygularsın.
- MongoDB performans ayarı (Seviye 401, 15 ders): Profiler, explain ve sunucu ölçümleriyle yavaş işlemleri bulur; indeks, sorgu, şema ve WiredTiger önbellek ayarlarıyla MongoDB’yi iş yüküne göre hızlandırırsın.
- Redis yüksek erişilebilirlik ve Redis Cluster (Seviye 401, 17 ders): Çoğaltma ve Sentinel ile otomatik yük devretmeyi derinlemesine kurar, Redis Cluster’ı yapılandırıp yeniden parçalar, kalıcılık ve yedek işlerini kümede yönetirsin.
- Veritabanı güvenliği: yetkilendirme, şifreleme, yedek ve denetim (Seviye 401, 18 ders): MySQL, PostgreSQL, MongoDB ve Redis için ortak bir güvenlik çerçevesi kurup verileri yetkiyle, şifreyle, yedekle ve denetimle korumayı öğrenirsin.
- Veritabanı motorunun içi: depolama, indeks, günlük (Seviye 501, 15 ders): Sayfaları, tampon havuzunu, B+ağacını, önceden yazma günlüğünü ve MVCC’yi inceler; Python ile küçük bir anahtar-değer deposu yazarak veritabanlarının içini kavrarsın.
- MySQL iç yapısı ve ileri sorun giderme (Seviye 501, 14 ders): InnoDB’nin sayfa, redo, undo ve kilit yapılarını inceler; çökme sonrası kurtarma, bozulma, kilitlenme ve bellek sorunlarını gerçek arıza senaryolarında çözersin.
- PostgreSQL iç yapısı ve uzantı geliştirme (Seviye 501, 13 ders): Yığın sayfalarını, satır başlıklarını, MVCC görünürlüğünü, WAL kayıtlarını ve planlayıcıyı araçlarla inceler; C ile küçük bir uzantı yazarak PostgreSQL’in içini kavrarsın.
- SQLite’ı genişletmek: uzantılar ve sanal tablolar (Seviye 501, 14 ders): C ve Python ile özel fonksiyonlar, toplama fonksiyonları, sanal tablolar ve yüklenebilir uzantılar yazar; R*Tree, oturum uzantısı ve gömülü kullanım ayarlarını uygularsın.
- MongoDB iç yapısı ve ileri işletim (Seviye 501, 13 ders): WiredTiger depolama motorunu, oplog’u, çoğaltma protokolünü ve parça göçünü inceler; gerçek arıza senaryolarında MongoDB kümelerini teşhis edip kurtarırsın.
- Redis iç yapısı ve performans (Seviye 501, 14 ders): Redis’in veri yapısı kodlamalarını, olay döngüsünü, bellek ayırıcısını ve kalıcılığın iç işleyişini inceler; gecikme ve bellek sorunlarını ölçüp giderir, Redis Functions ile sunucu tarafı mantık yazarsın.
- Veritabanı sertleştirme ve güvenlik denetimi uygulaması (Seviye 501, 15 ders): Dört motoru bir güvenlik kıyaslama listesine göre denetler, bulguları betiklerle otomatik toplar, anahtar döndürmeyi ve denetim kayıtlarını kurar, savunmayı kendi ortamındaki saldırı benzetimleriyle sınarsın.
- Yüksek erişilebilir veri mimarisi tasarımı (Seviye 501, 14 ders): Tutarlılık ile erişilebilirlik arasındaki ödünleşimleri, çoğaltma düzenlerini, uzlaşma algoritmalarını ve felaket kurtarmayı karşılaştırır, tasarımını arıza enjeksiyonuyla sınarsın.
Projeler
- İlk veritabanın: klinik randevu kayıtları: Lavinya Klinikleri’nin defterde tutulan randevularını MySQL’de hasta, hekim ve randevu tablolarına taşırsın. Örnek veriyi yükler ve danışmanın sorduğu sekiz soruyu (bugünkü randevular, en yoğun hekim gibi) yanıtlayan sorguları teslim edersin.
- Hesap tablosundan SQLite’a: atölye stok kaydı: Karaçam Mobilya’nın hesap tablosunda tutulan stok listesini CSV olarak alıp SQLite veritabanına aktarırsın. Azalan malzemeleri ve tedarikçi bazında toplamları veren sorguları yazar, sonucu atölye şefinin okuyacağı bir rapor dosyası olarak dışa verirsin.
- İşlemlerle tutarlı kayıt: Birbirine bağlı kayıtların ya hep birlikte kaydedilmesini ya da hiç kaydedilmemesini işlemlerle (transaction) sağlar ve yarıda kesilen bir işlemde veri tutarlı kalır.
- Toplu güncellemeyi güvenle yap ve doğrula: Binlerce kaydı tek seferde güncellerken önce yedek alır, değişikliği küçük adımlarla uygular ve sonucu sayımlarla doğrularsın.
- Saat dilimleri arası gün sonu raporu: Farklı ülkelerdeki şubelerin gün sonu satışlarını saat dilimi farklarını doğru hesaplayarak tek bir raporda toplarsın.
- Esnek alanlarda arama (JSON ve MongoDB sorguları): Her kaydın farklı alanlar taşıdığı esnek verilerde JSON ve MongoDB sorgularıyla arama yapar ve doğru kayıtların bulunduğunu gösterirsin.
- Şemaya yeni özellik ekle (migrasyon): Çalışan bir veritabanına yeni bir özellik için tablo ve sütun ekler, eski verilerin bozulmadığını göstererek geri alınabilir bir migrasyon hazırlarsın.
- Veriyi temizle ve kısıtlarla doğrula: Yinelenen ve hatalı kayıtları temizler, sonra veritabanına kısıtlar ekleyerek aynı hataların bir daha girememesini sağlarsın.
- Gün sonu mutabakatı: iki kaynağı eşle: İki ayrı sistemden gelen günlük kayıtları eşleştirir, uyuşmayanları listeler ve farkların nedenini anlatan bir mutabakat raporu sunarsın.
- Önbelleği taze tut (TTL ve geçersiz kılma): Önbellekteki verinin eskimesini süre sınırı (TTL) ve geçersiz kılma ile yönetir, kullanıcıların güncel veriyi gördüğünü gösterirsin.
- Veritabanı erişimini en az yetkiyle sınırla: Uygulamaların veritabanında yalnızca ihtiyaç duydukları işlemleri yapabilmesi için hesap yetkilerini daraltır ve fazla yetkinin kalmadığını denetlersin.
- Yeni uygulama için MySQL sunucusunu hazırla: Ayçiçeği Gıda’nın yeni sipariş uygulaması için bir MySQL sunucusunu kullanıma hazırlarsın: yapılandırma dosyası, karakter kümesi, uygulama ve raporlama hesapları, yavaş sorgu kaydı ve temel izleme sorguları. Ayarların yeniden başlatmadan sonra da geçerli olduğunu gösteren bir devir teslim listesi yazarsın.
- Çok veritabanlı bir uygulamayı kur: Bir uygulamanın ilişkisel veritabanı, belge deposu ve önbellek gibi birden çok veri servisini birlikte kurar ve uçtan uca çalıştığını gösterirsin.
- Pencere fonksiyonlarıyla sıralama: Satış ya da başarı verisini pencere fonksiyonlarıyla gruplar içinde sıralar ve her grubun en iyi kayıtlarını listeleyen bir sorgu teslim edersin.
- Yavaş sorguyu indeksle hızlandır: Yavaş çalışan bir sorguyu inceler, uygun bir indeks ekler ve sorgu süresindeki düşüşü önce-sonra ölçümüyle gösterirsin.
- Yedeğin geri yüklenebildiğini kanıtla: Veritabanı yedeğini ayrı bir ortama geri yükler, kayıt sayıları ve örnek sorgularla yedeğin gerçekten işe yaradığını kanıtlarsın.
- Çifte rezervasyonu kilitlerle önle: Aynı koltuk ya da odanın iki kişiye birden satılmasını kilitlerle engeller ve eşzamanlı isteklerle bunun artık olmadığını sınarsın.
- MongoDB toplama hattıyla satış özeti: Turnalı Perakende’nin mağaza satış belgelerinden, yönetim panosunu besleyecek özetleri MongoDB toplama hattıyla (aggregation pipeline) çıkarırsın: mağaza ve kategoriye göre ciro, haftalık eğilim, en çok satan ürünler. Hattı hızlandıran dizini ekler ve sonuçları elle hesaplanmış bir örnekle doğrularsın.
- Yanlışlıkla silinen veriyi belirli bir ana dönerek kurtar (PostgreSQL): Yelkovan Bankası’nın deneme veritabanında bir tablo yanlışlıkla boşaltılmış. Sürekli arşivleme ve temel yedekle veritabanını silmeden hemen önceki ana geri yükler (PITR), kaybın kaç dakikalık veriyle sınırlı kaldığını ve kurtarmanın ne kadar sürdüğünü belgelersin.
- Veritabanı izleme panosu ve uyarıları: Kuzeyyıldızı Kargo’nun PostgreSQL ve MySQL sunucuları için ölçüm toplayıcıları kurar, bağlantı sayısı, yavaş sorgu, disk doluluğu ve eşleme gecikmesini gösteren bir pano hazırlarsın. Bağlantı sınırına yaklaşıldığında uyarının tetiklendiğini bir yük denemesiyle gösterirsin.
- PostgreSQL kümesinde devralma tatbikatı: Demirsu Enerji’nin sayaç verisi için üç düğümlü, kendiliğinden devralan bir PostgreSQL kümesi kurarsın. Birincil düğümü kapatır, uygulamanın kaç saniye yazamadığını ve veri kaybı olup olmadığını ölçer, eski birincili kümeye geri katarak tatbikat raporunu yazarsın.
- MySQL iş yükünü ölç, ayarla ve raporla: Mavikaya Lojistik’in sevkiyat veritabanı yoğun saatlerde yavaşlıyor. Bir yük denemesiyle başlangıç ölçümünü alır, en pahalı sorguları ve yetersiz kalan sunucu ayarlarını bulur, düzeltir ve her değişikliğin etkisini ayrı ayrı gösteren bir başarım raporu yazarsın.
- Hasarlı SQLite dosyasından kayıtları kurtar: Sedirli Hukuk Bürosu’nun dosya takip uygulamasının SQLite veritabanı, yarıda kesilen bir yazma sonrası açılmıyor. Dosyanın kopyası üzerinde sayfa yapısını ve günlük dosyasını inceler, okunabilen kayıtları yeni bir veritabanına aktarır ve neyin kurtarılıp neyin kaybedildiğini raporlarsın.
- Dört veritabanı için güvenlik denetimi ve sıkılaştırma: Mercanköşk Otelcilik’in PostgreSQL, MySQL, MongoDB ve Redis sunucularını bir güvenlik temel çizgisine göre denetlersin: kimlik doğrulama, yetkiler, ağ erişimi, şifreleme, yedek ve denetim kaydı. Bulguları önem sırasına koyar, düzeltir ve yeniden denetimle kapandıklarını gösteren raporu teslim edersin.