Bu yüzden bu soru hakkında tüm bir blog yazısı yazdım ve daha eksiksiz bir cevap için kontrol etmenizi (veya resmi dokümanları ) öneriyorum .
Ancak hızlı (-ish) özeti istiyorsanız, işte burada:
Daha iyi sorgulama ve daha yapılandırılmış veriler - Gerçek Zamanlı Veritabanı sadece devasa bir JSON ağacı olsa da, Cloud Firestore biraz daha yapılandırılmıştır. Tüm verileriniz (temelde anahtar / değer depoları olan) belgelerden ve (belge koleksiyonu olan) koleksiyonlardan oluşur. Belgeler sık sık, diğer belgeleri de içeren diğer belgeleri içeren alt toplamalara işaret eder ve bu böyle devam eder.
Bu yapılandırılmış veriler size iki şekilde yardımcı olur. İlk olarak, tüm sorgular sığdır , yani altındaki tüm verileri yakalamadan bir belge talep edebilirsiniz. Bu, verilerinizi hiyerarşik olarak, veritabanınızı sığ tutma konusunda endişelenmenize gerek kalmadan sizin için daha anlamlı bir şekilde saklayabileceğiniz anlamına gelir. İkincisi, daha güçlü sorgularınız var. Örneğin, artık veritabanınızın diğer bölümlerindeki verileri birleştiren (ve denormalize eden) "birleşik" alanları oluşturmak zorunda kalmadan birden çok alanda sorgulama yapabilirsiniz. Bazı durumlarda, Cloud Firestore bu sorguları doğrudan çalıştırır ve diğer durumlarda sizin için otomatik olarak dizinler oluşturur ve korur.
Ölçeklendirmek için Tasarlandı - Cloud Firestore, Gerçek Zamanlı Veritabanından daha iyi ölçeklendirebilecektir. Sorgularınızın veri kümenizle değil, sonuç kümenizin boyutuyla ölçeklendiğini belirtmek önemlidir. Böylece, veri kümeniz ne kadar büyük olursa olsun arama hızlı kalır.
Verilerin daha kolay manuel olarak getirilmesi - Gerçek Zamanlı Veritabanı gibi, Cloud Firestore'daki dinleyicileri gerçek zamanlı değişikliklere aktaracak şekilde ayarlayabilirsiniz. Ancak bu tür bir davranış istemiyorsanız ve sadece basit bir "verilerimi getir" çağrısı istiyorsanız, Cloud Firestore'da da vardır ve birincil kullanım durumu olarak yerleşiktir. ( once
Gerçek Zamanlı Veritabanı ülkesindeki çağrılardan çok daha iyidirler)
Çoklu bölge desteği - Verileriniz aynı anda birden fazla veri merkezinde paylaşıldığı için bu temelde daha fazla güvenilirlik anlamına gelir. Ancak yine de güçlü bir tutarlılığa sahipsiniz, yani her zaman bir sorgu yapabilir ve verilerinizin en son sürümünü aldığınızdan emin olabilirsiniz.
Farklı fiyatlandırma modeli - Realtime Database öncelikle depolama veya ağ bant genişliğine göre ücret alırken, Cloud Firestore öncelikle gerçekleştirdiğiniz işlem sayısına göre ücretlendirir . Bu daha iyi mi yoksa daha mı kötü olacak? Uygulamanıza bağlıdır.
Bir haber uygulaması, sıra tabanlı çok oyunculu oyun veya kendi Stack Overflow sürümünüz gibi bir şey için, Cloud Firestore muhtemelen fiyat açısından oldukça olumlu görünecektir. Birden fazla kullanıcıya saniyede birden fazla güncelleme gönderdiğiniz gerçek zamanlı bir grup çizim uygulaması gibi bir şey için, muhtemelen Gerçek Zamanlı Veritabanından daha pahalı olacaktır.
Neden hala Realtime Veritabanını kullanmak isteyebilirsiniz - Bu birkaç nedene bağlı. 1) Daha önce bahsettiğim tüm "muhtemelen çok sık güncelleme yapan uygulamalar için daha ucuz olacak" bir şey, 2) Uzun zamandır var ve binlerce uygulama tarafından savaş testi yapıldı, 3) Daha iyi gecikme süresi var ve gerçek zamanlı bir his için güvenilir bir şekilde düşük gecikme süresine ihtiyaç duyduğunuzda, Gerçek Zamanlı Veritabanı daha iyi çalışabilir.
Çoğu yeni uygulama için Cloud Firestore'a göz atmanızı öneririz. Ancak zaten Realtime Veritabanında bulunan bir uygulamanız varsa, bunu yapmak için zorlayıcı bir nedeniniz yoksa, sadece geçiş uğruna geçiş yapmayı gerçekten önermiyorum.
Umarım yardımcı olur!