Bir Veritabanı Seçin: Cloud Firestore veya Gerçek Zamanlı Veritabanı

Firebase, iki adet bulut tabanlı, istemci tarafından erişilebilen belge veritabanı sunar. Yeni müşterilerin Cloud Firestore ile başlamasını öneririz:

  • Cloud Firestore, 250.000'den fazla geliştiricinin güvendiği, önerilen kurumsal düzeyde JSON uyumlu belge veritabanıdır. Sorgulanabilirlik, ölçeklenebilirlik ve yüksek kullanılabilirlik gerektiren zengin veri modellerine sahip uygulamalar için uygundur. Ayrıca düşük gecikmeli istemci senkronizasyonu ve çevrimdışı veri erişimi sunar.

  • Gerçek Zamanlı Veritabanı klasik Firebase JSON veritabanıdır. Basit aramalar ve sınırlı ölçeklenebilirlikle düşük gecikmeli senkronizasyon gerektiren basit veri modellerine sahip uygulamalar için uygundur.

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

Önceki önemli hususları düşündükten sonra bir veritabanı seçmeye hazır olabilirsiniz. Hala avantajları ve dezavantajları tartıyorsanız bu bölümde Cloud Firestore ile Realtime Database arasındaki diğer farklar ele alınmaktadır.

Veri örneği

Hem Gerçek Zamanlı Veritabanı hem de Cloud Firestore, NoSQL Veritabanlarıdır.

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Verileri belge koleksiyonları olarak saklar.
  • JSON'a çok benzeyen basit verilerin belgelerde saklanması kolaydır.
  • Karmaşık, hiyerarşik verilerin, belgeler içindeki alt koleksiyonlar kullanılarak uygun ölçekte düzenlenmesi daha kolaydır.
  • Daha az denormalizasyon ve veri düzleştirme gerektirir.

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

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

Gerçek Zamanlı Veritabanı veri modeli hakkında daha fazla bilgi edinin.

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

Her ikisinin de mobil öncelikli, gerçek zamanlı SDK'ları var ve her ikisi de çevrimdışı kullanıma hazır uygulamalar için yerel veri depolamayı destekliyor.

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Apple, Android ve web istemcileri için çevrimdışı destek. Apple ve Android istemcileri için çevrimdışı destek.

Mevcudiyet

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

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Yerel olarak desteklenmiyor. Cloud Firestore'u ve Realtime Database'i Cloud Functions'ı kullanarak senkronize ederek Gerçek Zamanlı Veritabanının varlık desteğini geliştirebilirsiniz. Bkz . Cloud Firestore'da varlık oluşturma . Varlık desteklendi.

Sorgulama

Sorgular aracılığıyla her iki veritabanından da verileri alın, sıralayın ve filtreleyin.

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Bileşik sıralama ve filtrelemeyle dizine alınmış sorgular.
  • Filtreleri zincirleyebilir ve bir özellikteki filtreleme ile sıralamayı tek bir sorguda birleştirebilirsiniz.
  • Sorgular sığdır: Yalnızca belirli bir koleksiyon veya koleksiyon grubundaki belgeleri döndürürler ve alt koleksiyon verilerini döndürmezler.
  • Sorgular her zaman belgelerin tamamını döndürmelidir.
  • Sorgular varsayılan olarak dizine eklenir: Sorgu performansı, veri kümenizin değil, sonuç kümenizin boyutuyla orantılıdır.
Sınırlı sıralama ve filtreleme özelliklerine sahip derin sorgular.
  • Sorgular bir özelliği sıralayabilir veya filtreleyebilir ancak her ikisini birden yapamaz.
  • Sorgular varsayılan olarak derindir: her zaman alt ağacın tamamını döndürürler.
  • Sorgular, JSON ağacındaki bireysel yaprak düğüm değerlerine kadar herhangi bir ayrıntı düzeyindeki verilere erişebilir.
  • Sorgular dizin gerektirmez; ancak veri kümeniz büyüdükçe belirli sorguların performansı düşer.

Yazmalar ve işlemler

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Gelişmiş yazma ve işlem işlemleri.
  • Ayarlama ve güncelleme işlemlerinin yanı sıra dizi ve sayısal operatörler gibi gelişmiş dönüşümler aracılığıyla veri işlemlerini yazın .
  • İşlemler, veritabanının herhangi bir bölümündeki verileri atomik olarak okuyabilir ve yazabilir.
Temel yazma ve işlem işlemleri.
  • Ayarlama ve güncelleme işlemleriyle veri yazın .
  • İşlemler belirli bir veri alt ağacında atomiktir.

Güvenilirlik ve performans

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Cloud Firestore, otomatik olarak ölçeklenen bölgesel ve çok bölgeli bir çözümdür.
  • Tipik yanıt süreleri 30 ms'yi aşmayan, düşük gecikmeli bir çözüm.
  • Verilerinizi farklı bölgelerdeki birden fazla veri merkezinde barındırarak küresel ölçeklenebilirlik ve güçlü güvenilirlik sağlar.
  • Dünya çapında bölgesel veya çok bölgeli konfigürasyonlarda mevcuttur.
Hizmet Düzeyi Sözleşmesinde Cloud Firestore performansı ve güvenilirlik özellikleri hakkında daha fazla bilgi edinin.
Gerçek Zamanlı Veritabanı bölgesel bir çözümdür.
  • Bölgesel konfigürasyonlarda mevcuttur. Veritabanları bir bölgedeki bölgesel kullanılabilirlikle sınırlıdır.
  • Tipik yanıt süreleri 10 ms'yi aşmayan, son derece düşük gecikme süresi. Sık durum senkronizasyonu için ideal bir seçenek.
Hizmet Düzeyi Sözleşmesinde Gerçek Zamanlı Veritabanı performansı ve güvenilirlik özellikleri hakkında daha fazla bilgi edinin.

Çalışma süresi

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Son derece yüksek çalışma süresi performansı.
  • %99,999'luk tipik çalışma süresi performansı.
  • Örneğin e-ticaret uygulamalarında kullanılabilirlik son derece önemliyse Cloud Firestore'u kullanın.
Yüksek çalışma süresi performansı.
  • %99,95'lik tipik çalışma süresi performansı.

Ölçeklenebilirlik

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Ölçeklendirme otomatiktir.
  • Tamamen otomatik olarak ölçeklenir. Ölçeklendirme sınırları yaklaşık 1 milyon eşzamanlı bağlantı ve 10.000 yazma/saniyedir. Gelecekte bu limitleri artırmayı planlıyoruz.
  • Bireysel belgelere veya dizinlere yazma hızları üzerinde sınırlamalar vardır.
Ölçeklendirme parçalamayı gerektirir.
  • Tek bir veritabanında yaklaşık 200.000 eşzamanlı bağlantıya ve 1.000 yazma/saniyeye kadar ölçeklendirin. Bunun ötesine ölçeklendirmek, verilerinizin birden fazla veritabanında parçalanmasını gerektirir.
  • Bireysel veri parçalarına yazma hızlarında yerel sınır yoktur.

Güvenlik

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Yetkilendirme ve doğrulamayı birleştiren basamaksız kurallar.
  • Cloud Firestore Güvenlik Kuralları ile güvence altına alınan mobil SDK'lardan okuma ve yazma.
  • Kimlik ve Erişim Yönetimi (IAM) tarafından güvenliği sağlanan sunucu SDK'larından okur ve yazar.
  • Joker karakter kullanmadığınız sürece kurallar basamaklandırılmaz.
  • Kurallar sorguları kısıtlayabilir: Bir sorgunun sonuçları kullanıcının erişemediği verileri içeriyorsa sorgunun tamamı başarısız olur.
Yetkilendirme ve doğrulamayı ayıran basamaklı kurallar dili.

Fiyatlandırma

Her iki çözüm de Spark ve Blaze fiyatlandırma planlarında mevcuttur.

Cloud Firestore Tercih Edildi Gerçek Zamanlı Veritabanı
Öncelikle veritabanınızda gerçekleştirilen işlemlere (okuma, yazma, silme) ve daha düşük bir oranda bant genişliğine ve depolamaya göre ücretlendirilir.

Cloud Firestore, sizin için uygun olan maliyetleri aşmadığınızdan emin olmak amacıyla App Engine projeleri için günlük harcama sınırlarını destekler.

Cloud Firestore fiyatlandırma planları hakkında daha fazla bilgi edinin.

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

Gerçek Zamanlı Veritabanı fiyatlandırma planları hakkında daha fazla bilgi edinin.

Cloud Firestore ve Gerçek Zamanlı Veritabanını Kullanma

Her iki veritabanını da aynı Firebase uygulaması veya projesinde kullanabilirsiniz. Her iki NoSQL veritabanı da aynı türdeki verileri depolayabilir ve istemci kitaplıkları benzer şekilde çalışır. Uygulamanızda her iki veritabanını da kullanmaya karar verirseniz, daha önce özetlenen farklılıkları aklınızda bulundurun.

Hem Realtime Database hem de Cloud Firestore'da bulunan özellikler hakkında daha fazla bilgi edinin.

Bir veritabanı seçmeye hazır mısınız?

Umarız bu karşılaştırma Firebase veritabanı çözümüne karar vermenize yardımcı olmuştur. Artık Firebase projelerinize nasıl veritabanı ekleyeceğinizi öğrenebilirsiniz.