Bir veritabanı seçin: Cloud Firestore veya Realtime Database

Firebase; bulut tabanlı ve istemci tarafından erişilebilen iki belge veritabanı sunar. Biz yeni müşterilerin Cloud Firestore ile başlamasını önerin:

  • Cloud Firestore, önerilen kurumsal düzeyde JSON uyumludur. 250.000'den fazla geliştiricinin güvendiği belge veritabanı. Uygun olduğu durumlar: sorgulanabilirlik, ölçeklenebilirlik ve ölçeklenebilirlik gerektiren zengin veri modellerine yüksek kullanılabilirlik. Ayrıca düşük gecikmeli istemci senkronizasyonu ve çevrimdışı veri erişimi de sunar.

  • Realtime Database, klasik Firebase JSON veritabanıdır. Uygun olduğu durumlar: basit arama ve düşük gecikme gerektiren basit veri modellerine sahip uygulamalar senkronizasyon olanağı sunar.

Dikkate alınması gereken diğer önemli noktalar nelerdir?

Önceki temel hususları düşündükten sonra, bir projeyi yürütmek için bir veritabanı seçin. Avantaj ve dezavantajları karşılaştırıyorsanız bu bölümde Cloud Firestore ile Realtime Database arasındaki farklar.

Veri modeli

Hem Realtime Database hem de Cloud Firestore NoSQL Veritabanlarıdır.

Cloud Firestore Tercih edilen Realtime Database
Verileri, doküman koleksiyonları olarak depolar.
  • Basit veriler, JSON'a çok benzeyen dokümanlarda kolayca saklanabilir.
  • Karmaşık, hiyerarşik verilerin geniş ölçekte organize edilmesi kolay olduğundan alt koleksiyon eklemelerine olanak tanır.
  • Daha az normalleştirme ve veri birleştirme gerektirir.

Cloud Firestore veri modeli hakkında daha fazla bilgi edinin.

Verileri büyük bir JSON ağacı olarak depolar.
  • Basit verilerin depolanması çok kolaydır.
  • Karmaşık, hiyerarşik verilerin büyük ölçekte düzenlenmesi daha zordur.

Şu konu hakkında daha fazla bilgi edinin: Realtime Database veri modeli.

Gerçek zamanlı ve çevrimdışı destek

Her ikisi de mobil öncelikli, gerçek zamanlı SDK'lara sahiptir ve veriler için yerel veri depolamayı destekler. hazır uygulamalar sunar.

Cloud Firestore Tercih edilir Realtime Database
Apple, Android ve web istemcileri için çevrimdışı destek Apple ve Android istemcileri için çevrimdışı destek.

Varlık

Bir müşterinin ne zaman çevrimiçi veya çevrimdışı olduğunu bilmek yararlı olabilir. Firebase Realtime Database, istemci bağlantı durumunu kaydedebilir ve güncelleme sağlayabilir istemcinin bağlantı durumu her değiştiğinde.

Cloud Firestore Tercih edilir Realtime Database
Yerel olarak desteklenmez. Realtime Database ile ilgili temel bilgileri Cloud Firestore ve Realtime Database öğelerini kullanarak senkronize etme yoluyla varlık desteği Cloud Functions Bkz. Derleme Cloud Firestore konumunda bulunmalıdır. Bulunma dayalı değil.

Sorgulanıyor

Sorgular aracılığıyla her iki veritabanından da veri alma, sıralama ve filtreleme.

Cloud Firestore Tercih edilen Realtime Database
Bileşik içeren dizine eklenmiş sorgular sıralama ve filtreleme.
  • Filtreleri zincirleyebilir ve bir mülkte filtreleme ile sıralamayı tek bir sorguda birleştirebilirsiniz.
  • Sorgular sığdır; yalnızca belirli bir koleksiyondaki dokümanları döndürürler veya koleksiyon verilerini döndürmeyin.
  • Sorgular her zaman tüm dokümanları döndürmelidir.
  • Sorgular varsayılan olarak dizine eklenir: Sorgu performansı veri kümenizin değil, sonuç kümenizin boyutudur.
Sınırlı olan derin sorgular sıralama ve filtreleme özelliklerini kullanın.
  • Sorgular bir mülkte sıralanabilir veya filtre uygulayabilir, ancak ikisini birden düzenleyemez.
  • Sorgular varsayılan olarak derindir: Her zaman alt ağacın tamamını döndürürler.
  • Sorgular, JSON ağacındaki bağımsız yaprak düğümü değerlerine kadar herhangi bir ayrıntı düzeyinde verilere erişebilir.
  • Sorgular için dizin gerekmez ancak veri kümeniz büyüdükçe belirli sorguların performansı düşer.

Yazmalar ve işlemler

Cloud Firestore Tercih edilir Realtime Database
Gelişmiş yazma ve işlem işlemleri.
  • Veri işlemleri yazma yapılandırma ve güncelleme işlemlerinin yanı sıra dizi ve sayısal operatörler.
  • İşlemler, veritabanının herhangi bir kısmından verileri atomik olarak okuyabilir ve yazabilir.
Temel yazma ve işlem işlemleri.
  • Veri yazma yükleme ve güncelleme işlemleri yapılır.
  • İşlemler belirli bir veri alt ağacında atomik olması gerekir.

Güvenilirlik ve performans

Cloud Firestore Tercih edilir Realtime Database
Cloud Firestore, ölçeklendirilebilen bölgesel ve çok bölgeli bir çözümdür otomatik olarak oluşturur.
  • Tipik yanıt sürelerinin en fazla 30 olduğu düşük gecikmeli bir çözüm ms.
  • Verilerinizi farklı bölgelerdeki birden fazla veri merkezinde barındırarak şunları sağlar: Küresel ölçeklenebilirlik ve güçlü güvenilirlik.
  • Dünya genelindeki bölgesel veya çok bölgeli yapılandırmalarda kullanılabilir.
Cloud Firestore performans ve güvenilirlik özellikleri hakkında daha fazla bilgiyi Hizmet Düzeyi Sözleşmesi'nde bulabilirsiniz.
Realtime Database bölgesel bir çözümdür.
  • Bölgesel yapılandırmalarda kullanılabilir. Veritabanları alt bölgesel ile sınırlıdır bir ekiple çalışıyor olabilirsiniz.
  • Normal yanıt sürelerinin 10 ms'den fazla olmadığı son derece düşük gecikme. için ideal bir seçenektir.
Realtime Database performans ve güvenilirlik özellikleri hakkında daha fazla bilgi (Hizmet Düzeyi Sözleşmesi)

Çalışma süresi

Cloud Firestore Tercih edilen Realtime Database
Son derece yüksek çalışma süresi performansı.
  • %99,999 oranında genel çalışma süresi performansı.
  • Kullanılabilirlik son derece önemliyse, örneğin e-ticaret uygulamalarında Cloud Firestore kullanın.
Yüksek çalışma süresi performansı.
  • %99,95'lik tipik çalışma süresi performansı.

Ölçeklenebilirlik

Cloud Firestore Tercih edilen Realtime Database
Ölçeklendirme otomatiktir.
  • Tamamen otomatik olarak ölçeklendirilir. Ölçeklendirme sınırlarına yakın 1 milyon eşzamanlı bağlantı ve 10.000 yazma/saniye. Bu sınırları gelecekte artırmayı planlıyoruz.
  • Tek tek belge veya dizinlere yönelik yazma hızları açısından sınırlar vardır.
Ölçeklendirme için parçalama gerekir.
  • Şurada yaklaşık 200.000 eşzamanlı bağlantı ve 1.000 yazma/saniye hızına göre ölçeklendirme e-tablolarda tutabilirsiniz. Bunun ötesinde ölçeklendirme için verilerinizin parçalara ayrılması gerekir birden çok veritabanı oluşturabilirsiniz.
  • Bağımsız veri parçalarına yazma hızlarında yerel sınırlama yoktur.

Güvenlik

Cloud Firestore Tercih edilir Realtime Database
Yetkilendirme ve doğrulamayı birleştiren, geçişli olmayan kurallar.
  • Güvenliği sağlayan mobil SDK'lardan okuma ve yazma Cloud Firestore Security Rules.
  • Güvenliği sağlayan sunucu SDK'larından okuma ve yazma Identity and Access Management (IAM).
  • Joker karakter kullanmadığınız sürece kurallar basamaklamaz.
  • Kurallar sorguları kısıtlayabilir: Sorgu sonuçları veri içeriyorsa kullanıcının erişimi olmadığından sorgunun tamamı başarısız olur.
Yetkilendirme ile doğrulamayı ayıran geçişli kural dili.

Fiyatlandırma

Her iki çözüm de Spark and Blaze fiyatlandırma planları.

Cloud Firestore Tercih edilir Realtime Database
Temel olarak, veritabanınızda gerçekleştirilen işlemler için alınan ödemeler (okuma, yazma, silme) ve daha düşük hızda bant genişliği ve depolama alanı sunar.

Cloud Firestore günlük destekler harcama sınırları ve giderdiğiniz maliyetleri aşmadığınızdan emin olmak amacıyla, App Engine rahat hissetmelerine yardımcı olur.

Daha fazla bilgi: Cloud Firestore fiyatlandırma planı.

Yalnızca bant genişliği ve depolama alanı için ücret alınır, ancak daha yüksek bir fiyattan ücretlendirilir oranıdır.

Realtime Database Fiyatlandırma planları hakkında daha fazla bilgi edinin.

Cloud Firestore ve Realtime Database kullanılıyor

Her iki veritabanını da aynı Firebase uygulaması veya projesinde kullanabilirsiniz. Her ikisi de NoSQL veritabanları aynı tür verileri depolayabilir ve istemci kitaplıkları, sağlayabilirsiniz. Akıllı Teklif'e karar verirseniz daha önce belirtilen uygulamanızda her iki veritabanını da kullanmanıza olanak tanır.

Hem Realtime Database hem de Cloud Firestore'te kullanılabilen özellikler hakkında daha fazla bilgi edinin.

Veritabanı seçmeye hazır mısınız?

Bu karşılaştırmanın bir Firebase veritabanı çözümünde karar kılmanıza yardımcı olduğunu umuyorum. Artık Firebase projelerinize nasıl veritabanı ekleyeceğinizi öğrenebilirsiniz.