Basitleştirilmiş bir klasik veritabanı işlemi şu şekilde görülebilir:
- M öğelerini okuma
- bu okumalara dayalı bazı hesaplamalar yapmak
- başlangıçta okunan öğeleri içerebilecek bu hesaplamalara dayanarak bazı N sonuçları yazmak.
Bu işlemleri gerçekleştirirken (aynı anda) ACID özelliklerinin korunması gerekir.
DBMS olmayan eşzamanlı sistemlerde tam olarak aynı gereksinimler (işlemsel olarak M okumalarına dayalı N güncellemeleri) bulunmaktadır.
Bu işlemleri gerçekleştirmek / çözmek için hangi algoritmaların bulunduğunu ve bu algoritmaların göreceli güçlü ve zayıf yönlerini öğrenmekle ilgileniyorum. Biraz okuma tavsiye eder misiniz? Bu kitaplar veya çevrimiçi referanslar / eğiticiler olabilir.
Açıklama:
Örneğin, naif bir algoritma, her bir işlemin tek bir global kilit alarak, aslında tek bir iş parçacığını zorlamak ve eşzamanlılığı kaldırmak olabilir. Biraz daha karmaşık bir algoritma, kilitlenmeyi önlemek için bir sıra ile bireysel öğe okuma / yazma kilitleri olacaktır). Vb, vb. Bu sorunu çözmek için çeşitli algoritmaları belgeleyen iyi bir kaynak var mı? Güçlü ve zayıf yanlarıyla sadece tek bir algoritmaya işaret eden bir cevap bile faydalı olacaktır.