Temel AWS mühendislik hile sayfası:
EC2 → sunucuları
Lambda → sahte sunucular
EBS → sabit diskler
S3 → yavaş sabit diskler
VPC → LAN cosplay
IAM → izin reddedildi
CloudWatch → "evde datadog var"
Sorguları asla zaman aşımı olmadan çalıştırmayın.
Tek bir rogue sorgusu veya yük sıçraması, bunlarsız durmalara veya uygulama durgunluğuna yol açabilir. Nedenini düşünelim.
Uzun süredir devam eden bir sorgu uygulamamıza yanlışlıkla dahil edildiği durumu ele alalım. Veritabanı genellikle sadece kısa ömürlü sorguları (10ms veya daha az) işler ve aniden her çalıştırma süresi 1000ms süren yeni bir sorgu ortaya çıkıyor.
Bu sadece kaynakları tüketmekle kalmaz, aynı zamanda eşzamanlı işlemlerin sayısını da artırır. Ya bağlantı sınırlarını, txn sınırlarını aşacağız ya da veritabanı işlemcisi/iops'un %100'ünü kullanacağız.
Şimdi aynı senaryoyu ele alalım, ancak her işlem için (veritabanı tarafı) 250ms zaman aşımına koyuyoruz, üstel geri dönüş yeniden deneme mantığı + jitter (app-tarafı) ile. Şimdi tek bir sorgunun patlama radiusunu sınırladık. Uzun süreli sorgular sona erer ve geri çekilme mantığı sürülerin gürültü riskini en aza indirir.
Bu zaman aşımlarını izleyerek, sorunlu sorguyu hızlıca tespit edip değişikliği geri alabiliriz.
Önceden yazma günlüğü (WAL), veritabanlarının hızlı commit yapma ve çökmelerden güvenli şekilde nasıl kurtarıldığı yöntemdir.
B-ağaçları dışında, muhtemelen Postgres ve MySQL'deki en önemli yapı.
(MySQL-land'de buna "yeniden işleme günlüğü" denir)