Tüm veritabanının yerel olarak saklandığı çevrimdışı yeteneklere sahip bir parse.com tabanlı uygulamaya sahibim (web istemcisinde localStorage ve mobil istemcilerde parse.com yerel veritabanı). Uzak veritabanındaki en son değişikliklerle yerel veritabanını verimli bir şekilde güncellemek için bir tasarım çözümü arıyorum. Aklıma gelen seçenekler şunlardır: koduylaYerel parse.com veritabanını aşamalı olarak nasıl güncellerim?
Günlük Tutma tetikler. Kurulum bulut kodu, her nesne için tetikler (AfterSave, afterDelete) ve nesne kaydedildiğinde veya yok edildiğinde günlük tablosuna bir kayıt ekler. İstemciler güncellemeler için tabloyu sorgulayacak ve sonraki istekler için
lastUpdateTime
'u hatırlayacaktır.Artıları: a) neyin değiştiğini ve kimin değişiklik yaptığını çok ayrıntılı bir özetimiz olabilir. masanın
Günlük Tutma a) olabilir çok fazla girişleri: b) tüm değişiklikleri (örneğin masa çağrı küçük gecikmeler gerçek zamanlı)
Eksileri içinde bildirimler için Çağrılmaya diğer istemciler için anında kullanılabilir arka plan işi ile. Tüm tabloları
updatedAt
ile sorgulayan bir arka plan işi kurun, günlük tablosunu doldurur ve sonraki istekler içinlastUpdateTime
kaydeder.Artıları: dergi tablosunda bir) daha az girişleri
Eksileri:? Değişiklikler öngörülemeyen gecikme (gerçek zamanlı bildirimler için uygun değildir ile kullanılabilir) b) silmektedir izleyemez vardır a) kurulumunu hâlâ başka bir ihtiyaç var tablo günlüğüne) daha az ayrıntı siler izleyebilir veya yumuşak silme c uygulamak için (nesne bir kullanıcı tarafından oluşturulan ve başka bir kullanıcı tarafından silindiğinde, biz) bir nesne kimin oluşturduğu bilmez mesela
yok dergi. Tüm istemciler tüm tabloları
updatedAt
ile sorgular ve sonraki istekler içinlastUpdateTime
'u depolar.Artıları: a) uygulanması kolay, b) değişiklikler
Eksileri anında kullanılabilir: gibi siler bir) aynı sorun, b) verimsiz i tüm müşteriler tarafından 20+ tabloları sorgulama inanıyoruz (iyi bir fikir
Ayrıca kullanıcı son etkinliği aracılığıyla bakabilirsiniz bir UI sahip değil (kim ne değişti), bu yüzden tür sayısının doğru 1 yaklaşımı yalın, ama tablonun potansiyel büyüklüğü beni endişelendiriyor
Eğer ayrıştırma pimini kullanıyorsunuz (kurtarmak ve bu verileri sorgulamak için kullanarak sunucudaki istemci için durum bilgisini saklamak ve Modifiye)? https://parse.com/tutorials/using-the-local-datastore –
Herhangi bir kütüphaneyle sınırlı mısınız yoksa yerel javascript'i kullanmaya hazır mısınız? –
@RichardGrant herhangi bir kütüphaneyle sınırlı değil – Dziamid