⚡ÖZET VE TEKNİK CEVAP
Tek bir veritabanı shard'ı donanım sınırlarına (IOPS kilitlenmesi, terabayt disk limitleri) ulaştığında veritabanının yeniden parçalanması (resharding) gerekir. 7/24 çalışan bir sistemde platformu 12 saatlik bir bakım penceresi için kapatmak kabul edilemez. Vitess ve Slack tarafından olgunlaştırılan 'Sıfır Kesintili Çevrimiçi Resharding Protokolü' 4 aşamada yürütülür:
Çift Yazma (Dual-Writing): Uygulama aynı anda hem eski hem yeni shard'lara yazar.
Geçmiş Veri Doldurma (Backfill): CDC worker'ları geçmiş verileri yeni shard'lara taşır.
Sürekli Tutarlılık Doğrulaması: Arka plan mutabakat servisleri satır bazında sağlama toplamı (checksum) ile %100 eşitliği kanıtlar.
Dinamik Geçiş (Cutover): Milisaniyeler içinde okuma trafiği yeni shard'lara çevrilir ve eski shard'lar güvenle emekliye ayrılır.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
Slack, ana MySQL mesaj deposunu Vitess kullanarak kesintisiz şekilde 16'dan 64 shard'a çıkardı. 4 hafta boyunca milyonlarca kanal yeni sunuculara kademeli olarak bölündü. Çift yazma ve VReplication ile 40TB mesaj sürekli satır doğrulamasıyla kopyalandı. Nihai geçiş Salı günü tepe trafikte yapıldı: Sıfır düşen sorgu, sıfır saniye kesinti ve milyonlarca aktif kullanıcıya hiç hissettirilmeden işlem tamamlandı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaSıfır Kesintili Çevrimiçi Veritabanı Resharding protokolünün 4 temel aşaması nedir?
Okuma trafiğini yeni shard'lara çevirmeden önce neden satır bazında checksum denetimi zorunludur?
Sıfır Kesintili Çevrimiçi Veritabanı Yeniden Parçalama (Resharding) ve Çift Yazma Geçişi — Sıkça Sorulan Sorular
Veritabanı resharding bağlamında Vitess nedir?
MySQL'i yatayda ölçekleyen ve sıfır kesintiyle otomatik çevrimiçi resharding (VReplication) sunan bulut yerlisi bir kümeleme sistemidir.
Çift yazma (dual-write) sırasında döngüsel replikasyon fırtınaları nasıl önlenir?
Yazma işlemlerine kaynak etiketi koyarak (`origin=client` veya `origin=cdc_replicator`); migrasyon aracından gelen olayların tekrar kopyalanmasını engelleyerek.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Online resharding splits saturated shards without taking the platform offline.
- ▸
The 4-stage workflow: Dual-Write -> CDC Backfill -> Checksum Verification -> Cutover.
- ▸
Never switch read traffic without validating 100% row equivalence via checksums.
- ▸
Always maintain an instant 1-click feature flag to revert reads if anomalies occur.
Yaygın Yanılgılar
- ✗
Yanılgı: Resharding requires a scheduled weekend downtime maintenance window (Gerçek: Modern CDC and dual-writing enable 100% online cutover).
- ✗
Yanılgı: Dual-writing is sufficient without backfill verification (Gerçek: Transient network blips inevitably drop rows; active reconciliation is required).
Karar Kılavuzu & Önceliklendirme
Use Debezium or Vitess VReplication for managed CDC streams during database migrations. Implement automated row-hash reconciliation jobs before initiating read flips.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Vitess Documentation: Horizontal Resharding and VReplication Workflows— Vitess.io / CNCF
