MongoDB için Azure Cosmos DB sanal çekirdeğindeki işlemlerde birden çok işlemi gruplandırma
ŞUNLAR IÇIN GEÇERLIDIR: MongoDB sanal çekirdeği
Birden çok işlemi birlikte işlemek veya geri almak için tek bir işlem halinde gruplandırmak yaygın bir durumdır. Veritabanı ilkelerinde işlemler genellikle dört temel ACID ilkesi uygular. ACID şu ifadeyi ifade eden:
- Bölünmezlik: İşlemler tamamen tamamlar veya hiç tamamlanmaz.
- Tutarlılık: Veritabanları tutarlı bir durumdan diğerine geçiş sağlar.
- Yalıtım: Tek tek işlemler aynı anda yapılan işlemlerden korunuyor.
- Dayanıklılık: Tamamlanmış işlemler kalıcıdır ve sistem hataları sırasında bile verilerin tutarlı kalmasını sağlar.
Veritabanı yönetimindeki ACID ilkeleri, işlemlerin güvenilir bir şekilde işlenmesini sağlar. MongoDB için Azure Cosmos DB sanal çekirdeği bu ilkeleri uygulayarak birden çok işlem için işlem oluşturmanıza olanak tanır.
Önkoşullar
- MongoDB için mevcut bir Azure Cosmos DB sanal çekirdek kümesi.
- Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
- Mevcut bir Azure aboneliğiniz varsa MongoDB sanal çekirdek kümesi için yeni bir Azure Cosmos DB oluşturun.
İşlem oluşturma
Seçtiğiniz geliştirici dilinden uygun yöntemleri kullanarak yeni bir işlem oluşturun. Bu yöntemler genellikle birden çok işlemi birlikte gruplandırmak için bazı sarmalama mekanizmasını ve işlemi işlemek için bir yöntemi içerir.
Not
Bu bölümdeki örneklerde adlı collection
bir koleksiyon değişkeniniz olduğu varsayılır.
İşlem işlemi için bir istemci oturumu oluşturmak için kullanın
startSession()
.const transactionSession = client.startSession();
kullanarak
withTransaction()
bir işlem oluşturun ve tüm ilgili işlem işlemlerini geri çağırmaya yerleştirin.await transactionSession.withTransaction(async () => { await collection.insertOne({ name: "Coolarn shirt", price: 38.00 }, transactionSession); await collection.insertOne({ name: "Coolarn shirt button", price: 1.50 }, transactionSession); });
kullanarak
commitTransaction()
işlemi işleyin.transactionSession.commitTransaction();
İşlem oturumunu sonlandırmak için kullanın
endSession()
.transactionSession.endSession();
İşlemi geri alma
Bazen, işlem tamamlanmadan önce işlemi geri almak zorunda olabilirsiniz.
Mevcut bir işlem oturumunu kullanarak ile
abortTransaction()
işlemi durdurun.transactionSession.abortTransaction();
İşlem oturumunu sonlandırın.
transactionSession.endSession();
Sonraki adım
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin