0Pricing
SQL Academy · Ders

ACID Özellikleri ve Anormallikler

Atomiklik, tutarlılık, yalıtım ve kalıcılığın yanı sıra dört klasik anormalliği tekrarlayın: kirli okuma, tekrarlanamayan okuma, hayalet okuma ve kayıp güncelleme.

ACID Özellikleri ve Anormallikler, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

ACID

Bir işlem şu özelliklere sahipse güvenilirdir:

  • Atomik — ya hep ya hiç
  • Tutarlı — veritabanını bir geçerli durumdan başka bir geçerli duruma taşır
  • Yalıtılmış — eşzamanlı işlemler birbirinin işine karışmaz
  • Dayanıklı — bir kez COMMIT edildiğinde veriler çökmelerden sonra da korunur

SQL'de Bir İşlem

İşlemleri BEGIN ... COMMIT ile sarın:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
-- If anything fails, ROLLBACK leaves both rows unchanged.

Atomikliğin Uygulamada Görünümü

İkinci UPDATE başarısız olursa birincisi geri alınır — para yarıda kaybolmaz:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- Crash here, or ROLLBACK: account 1 is unchanged.

Tutarlılık

Kısıtlamalar (NOT NULL, CHECK, FK), COMMIT sırasında denetlenir. Veritabanını geçersiz bir durumda bırakacak işlem başarısız olur:

BEGIN;
INSERT INTO orders (user_id, total) VALUES (999, 100);  -- FK fails on commit if user 999 doesn't exist.
COMMIT;
-- ERROR: insert or update violates foreign key constraint
-- ROLLBACK happens automatically.

Yalıtım: Neden Önemlidir

Yalıtım olmadan iki eşzamanlı işlem, birbirlerinin gördüğü verileri bozabilir. Klasik anomaliler:

  • Kirli okuma — kesinleştirilmemiş verileri okuma
  • Tekrarlanamayan okuma — aynı query farklı satırlar verir
  • Hayalet okuma — işlem sırasında yeni satırlar ortaya çıkar
  • Kayıp güncelleme — iki güncelleme birbirinin üzerine yazar

Kirli Okuma

Başka bir işlemin değiştirdiği ancak henüz kesinleştirmediği bir satırı okumaktır. PostgreSQL bunu tüm yalıtım düzeylerinde önler.

Tekrarlanamayan Okuma

1. satırı okursunuz, başka bir işlem 1. satırdaki güncellemeyi COMMIT eder, siz yeniden okursunuz — değer farklıdır.

Hayalet Okuma

Tek bir işlem içinde SELECT COUNT(*) komutunu iki kez çalıştırırsınız. Çağrılar arasında başka bir işlem bir INSERT işlemini COMMIT eder — ikinci sayımınız daha büyük olur.

Kayıp Güncelleme

İki işlem de bakiye=100 değerini okur, ikisi de bakiye=bakiye-50 yazar ve ikisi de COMMIT eder — -50 değerlerinden biri kaybolur.

Dayanıklılık

COMMIT döndüğünde değişiklik diske yazılmıştır (veya ayarlara bağlı olarak çoğaltılmıştır). Bir milisaniye sonra gerçekleşen çökme değişikliği kaybettirmez. PostgreSQL dayanıklılığı WAL (Önden Yazmalı Günlükleme) aracılığıyla sağlar.

Otomatik Kesinleştirme

Varsayılan olarak her ifade kendi işlemidir:

UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- Implicitly: BEGIN; statement; COMMIT;

SAVEPOINT

Bir işlem içinde kısmi geri alma:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
SAVEPOINT before_step2;
UPDATE accounts SET balance = balance + 100 WHERE id = 999;
-- ERROR — but we can recover:
ROLLBACK TO SAVEPOINT before_step2;
-- continue
COMMIT;

Özet

İşlemler, ilişkisel veritabanlarının güvenlik ağıdır.

  • ACID: atomik, tutarlı, yalıtılmış, dayanıklı
  • Dört klasik anomali
  • BEGIN ... COMMIT veya ROLLBACK
  • Kısmi geri alma için SAVEPOINT

Hızlı Kontrol

İki işlem de aynı değeri okuyup değiştirir ve ikisi de COMMIT ederse hangi anomali oluşur?

Sıkça Sorulan Sorular

“ACID Özellikleri ve Anormallikler” dersi ücretsiz mi?

Evet — “ACID Özellikleri ve Anormallikler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“ACID Özellikleri ve Anormallikler” dersinde ne öğreneceğim?

Atomiklik, tutarlılık, yalıtım ve kalıcılığın yanı sıra dört klasik anormalliği tekrarlayın: kirli okuma, tekrarlanamayan okuma, hayalet okuma ve kayıp güncelleme. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“ACID Özellikleri ve Anormallikler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ACID Özellikleri ve Anormallikler
  2. Yalıtım Düzeyleri: READ COMMITTED, REPEATABLE READ, SERIALIZABLE
  3. Kilitlenmeler: Tespit ve Önleme
  4. İyimser ve Kötümser Kilitleme
← SQL Academy Sayfasına Dön