Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 16305|Yanıt: 0

[Kaynak] Veritabanı ana kölesi gecikmesi, yanlış sorgu çözümlülüğüne yol açar

[Bağlantıyı kopyala]
2020-4-2 tarihinde yayınlandı 20:41:03 | | | |
【Önsöz】

Veri belirli bir miktara ulaştığında, veritabanı tüm sistemin darboğazı olur ve optimizasyon stratejisi genellikle okuma ve yazma ayrımı olarak benimsenir; veritabanı ise ana veritabanını veritabanından ayırarak okuma ve yazma ayrımını gerçekleştirir (ana veritabanından yazma isteği işlemi, veritabanından okuma talebi işlemi);

【Veri gecikmelerini çözmek için fikirler】

1. Usta-köle senkronizasyonu prensibi (burada en popüler MySQL'i örnek alıyoruz)

İşte klasik bir MySQL master-slave veri senkronizasyonunun binlog üzerinden şematik diyagramı:



2. Sorunlar nasıl ortaya çıkar?

1. Yukarıdaki şemadan, master-slave senkronizasyonunun belirli bir gecikmeye sahip olduğu ve bunun gecikme boyutunu etkilediği tespit edilmesi zor değildir:

(1) Gecikmenin boyutu, son senkronizasyondan günümüze kadar üretilen veri miktarına bağlıdır

(2) Sunucular arasındaki mevcut ağ durumu

(3) Master-slave sunucusunun (CPU, bellek, IO vb.) üzerindeki baskı

2. Veritabanı servisi genellikle intranet içinde olduğundan, satın alındığında sunucu yapılandırmada gerçek ihtiyacından daha yüksek olur, senkronizasyon temelde çok hızlıdır, genellikle milisaniyeler içinde;

3. Genel iş senaryolarında, milisaniyelik gecikme göz ardı edilebilir;



4. Genel ve özel durumlar vardır ve bazı özel durumlar gerçek zamanlı milisaniye zaman farkı gerektirir. İşte bu özel durumlar için yaygın çözümler.

3. Veri gecikmesi çözümleri:

1. Şema 1: Programı çift yaz (ana veritabanını yazmak ve veritabanını aynı anda okumak)



2. Şema 2: Ana veritabanını kontrol etmek için programı okuyun



3. Şema 3: Ana veritabanını yaz ve önbelleği yaz (belirli bir son kullanma süresi belirle, genellikle veritabanı senkronizasyonunun maksimum gecikmesinden biraz daha fazla), programı oku, önbelleği oku ve köle veritabanını oku



4. Üç programın avantajları ve dezavantajları:

1. Şema 1: Çift yazma belirli bir performans gerektirir, bu da uygulaması nispeten kolaydır ve yüksek eşzamanlı yazma senaryoları için uygun değildir;

2. Şema 2: Okuma programı, ana kütüphanenin performansını etkiler; bu kütüphane, uygulaması nispeten basittir ve yüksek eşzamanlı okuma senaryoları için uygun değildir.

3. Şema 3: Çoğu durumda, okuma ve yazma daha fazla yazma performansı gerektirir, bu da uygulanması daha karmaşıktır ve hem yüksek eşzamanlı okuma hem de yazma için uygundur (önbellek okuma ve yazma çok hızlıdır);

【Özet】

1. Uygulama önemlidir, ancak daha önemli olan fikirdir;

2. Birçok temel ilke ve fikir evrenseldir
Özgün:https://blog.csdn.net/zhanghan18 ... le/details/91638443




Önceki:.net/c# ado.net return değerleriyle depolanmış prosedürleri çalıştırır
Önümüzdeki:MSSQL ile (NOLOCK) kirli okuma
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com