2012-11-15 23 views
5

Azure Tablosu Depolama alanında büyük iyileştirmeler yapmayı düşünüyorum. Tablo Deposu için sorgulama, "PartisyonKey = somestingPK" ve [RowKey = somethingRK] "ile [varlık] artışını [value] [değer] 'e göre belirli bir işlemle göndermek mümkün mü?Windows Azure Tablo Depolama alanı int alanı artırımı

@smarx bu özellik mevcut olacak mı?

+0

http://stackoverflow.com/a/11853335/67824 –

cevap

0

Bu, MySQL'in UPDATE sorgusuna benzer ve şu anda Azure Table Storage'de gerçekleştirilemiyor. Bu tür bir veritabanı türüne ulaşmanızın mümkün olup olmadığından emin değilsiniz, çünkü tüm varlığı ilk aldığınızdan, istediğiniz alanları güncelleştirin ve veritabanına geri depolayın.

+0

Bunun şimdi mümkün olmadığını biliyorum. Önerilerimi geliştiricilerle paylaşmak istiyorum :) –

1

Evet, bu mümkündür - ama belki de tam olarak düşündüğünüz şekilde değil. MERGE operation'u arıyorsunuz. Bunu kullanmak için, hedeflediğiniz varlığı (yani, kuruluşun bölüm anahtarı ve satır anahtarı) bilmelisiniz. Bunu güncellemek için öğeyi geri almanız gerekmez, ancak her bir REST çağrısı başına veya toplu yetenekleri kullanarak (bazı kısıtlamalara sahip olan) her bir öğeyi özellikle belirtmeniz gerekir.

+3

Atomik bir artış arıyor. Bugün böyle bir şey yok. – smarx

+0

Ama arttırma işlemini kullanamıyorum. Sadece ayarlanmış. Tablo depolarındaki varlığı güncellemenin mümkün olmadığını öneriyorum. Ancak bu işlem REST API aracılığıyla mevcut değildir. –

4

Bunu, ETAG izleme etkinleştirilmiş Tablo veya Sayfa depolama ile yapabilirsiniz. Azure Tablosunda her giriş için bir Kimlik değeri oluşturmak için bu tekniği kullanırım. Fikir şöyledir:

  • , Sayfa Blob değeri oku ETAG'ın izlemeyi bırakın etkin

  • Artış alınan değer

  • POST alınan değer ve ETAG varsa Çatışma, tüm işlemi yeniden taze deneyin. Hedef konteynerin veya bölümün aşırı yüklenmesini önlemek için belki de üstel bir geri çekilme algoritması kullanın.

+1

Bu yaklaşımı "kostyil" olarak adlandırıyorum. Ancak, Tablo Depolama'da atomik artışın yerel uygulanmasını kullanmak istiyorum. –

İlgili konular