Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

Firebase, gerçek zamanlı veri senkronizasyonunu destekleyen, bulut tabanlı, istemci tarafından erişilebilir iki veritabanı çözümü sunar:

  • Bulut Firestore mobil uygulama geliştirme için Firebase en yeni veri tabanıdır. Yeni, daha sezgisel bir veri modeliyle Realtime Database'in başarıları üzerine kuruludur. Cloud Firestore ayrıca Realtime Database'den daha zengin, daha hızlı sorgular ve ölçekler sunar.

  • Gerçek zamanlı Veritabanı Firebase orijinal veri tabanıdır. Gerçek zamanlı olarak istemciler arasında eşitlenmiş durumlar gerektiren mobil uygulamalar için verimli, düşük gecikme süreli bir çözümdür.

Firebase hangi veritabanını önerir?

Veritabanı çözümü seçiminiz birçok faktöre bağlı olacaktır, ancak belirli özellikler söz konusu olduğunda, hangi veritabanının sizin için doğru olduğu konusunda önerilerde bulunabiliriz.

Her iki çözüm de şunları sunar:

  • Dağıtılacak ve bakımı yapılacak sunucuları olmayan, istemci öncelikli SDK'lar
  • Gerçek zamanlı güncellemeler
  • Ücretsiz katman, ardından kullandığınız kadar ödeyin

Kilit hususlar

Her iki veritabanında da ortak olan harika temel özelliklerin ötesinde, aşağıda listelenen hususların herhangi birinin veya tümünün uygulamalarınızın başarısını nasıl etkileyeceğini düşünün.

Veritabanının rolü
Uygulamam için bir veritabanı kullanıyor ...
Temel sorgulama ile öncelikle verileri senkronize etme.
Gelişmiş sorgulama, sıralama ve işlemleri gerekmez, biz Gerçek Zamanlı Veritabanı öneriyoruz.
Gelişmiş sorgulama, sıralama ve işlemler.
Eğer verilerle karmaşık etkileşimler gerekiyorsa, e-ticaret uygulamalarında, örneğin biz Bulut FireStore öneriyoruz.
Verilerle ilgili işlemler
Uygulamamın veritabanı kullanımı şuna benziyor ...
Sık sık değişen birkaç GB veya daha az veri.
Uygulamanızda bir dijital beyaz tahta uygulamasında olduğu gibi minik güncellemeler, bir akışını gönderecek, biz Gerçek Zamanlı Veritabanı öneriyoruz.
Değiştirildiğinden çok daha sık okunan yüzlerce GB ila TB veri.
Toplu işlemler sıklıkla gerektiğinde çok büyük veri kümeleri ve için, Bulut FireStore öneriyoruz.
Veri örneği
Verilerimi şu şekilde yapılandırmayı tercih ediyorum ...
Basit bir JSON ağacı.
JSON yapılandırılmamış veriler için, biz Gerçek Zamanlı Veritabanı öneriyoruz.
Koleksiyonlar halinde düzenlenen belgeler.
Yapılandırılmış belge ve koleksiyonları için, Bulut FireStore önerilir.
kullanılabilirlik
Müsaitlik ihtiyaçlarım...
%99,999'luk son derece yüksek çalışma süresi garantisi.
Kullanılabilirlik büyük önem ise, e-ticaret uygulamalarında, örneğin biz Bulut FireStore öneriyoruz.
En az %99,95 çalışma süresi garantisi.
Çok yüksek ama kritik değil kullanılabilirliği kabul edilebilir olduğunda, Bulut FireStore veya Gerçek Zamanlı Veritabanı ya önerilir.
Yerel verilerle ilgili çevrimdışı sorgular
Uygulamamın, sınırlı veya bağlantısı olmayan cihazlarda sorgu yapması gerekecek...
Sık sık.
Kullanıcı çevrimdışı olduğunda yerel verilere sofistike sorgulama yetenekleri için, Bulut FireStore önerilir.
Nadiren veya asla.
Eğer kullanıcılar sürekli çevrimiçi olmasını bekliyoruz, biz Bulut FireStore veya Gerçek Zamanlı Veritabanı önerilir.
Veritabanı örneklerinin sayısı
Bireysel projelerimde kullanmam gereken ...
Birçok veritabanı, örneğin her büyük müşteri için bir veritabanı.
Eğer tek bir Firebase projeye birden fazla veritabanı eklemenizi sağlayan bu yana, Gerçek Zamanlı Veritabanı öneriyoruz.
Sadece tek bir veritabanı.
Tek bir veritabanı gerekiyorsa, biz Bulut FireStore veya Gerçek Zamanlı Veritabanı ya önerilir.

Dikkate alınması gereken diğer bazı önemli şeyler nelerdir?

Önceki anahtar hususlar hakkında düşünme sonra, hazır olabileceğini bir veritabanı seçin . Hala artıları ve eksileri tartıyorsanız, bu bölüm Cloud Firestore ve Realtime Database arasındaki diğer farklılıkları kapsar.

Veri örneği

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

Gerçek Zamanlı Veritabanı Bulut Firestore
Verileri büyük bir JSON ağacı olarak depolar.
  • Basit verilerin saklanması çok kolaydır.
  • Karmaşık, hiyerarşik verileri geniş ölçekte düzenlemek daha zordur.

Hakkında daha fazla bilgi Gerçek zamanlı Veritabanı veri modeli .

Verileri belge koleksiyonları olarak depolar.
  • Basit verilerin, JSON'a çok benzeyen belgelerde saklanması kolaydır.
  • Belgelerdeki alt koleksiyonları kullanarak karmaşık, hiyerarşik verileri geniş ölçekte düzenlemek daha kolaydır.
  • Daha az denormalizasyon ve veri düzleştirme gerektirir.

Hakkında daha fazla bilgi Bulut Firestore veri modelinde .

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

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

Gerçek Zamanlı Veritabanı Bulut Firestore
iOS ve Android istemcileri için çevrimdışı destek. iOS, Android ve web istemcileri için çevrimdışı destek.

Mevcudiyet

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

Gerçek Zamanlı Veritabanı Bulut Firestore
Desteklenen varlık. Yerel olarak desteklenmez. Cloud Functions'ı kullanarak Cloud Firestore ve Realtime Database'i senkronize ederek Realtime Database'in mevcudiyet desteğinden yararlanabilirsiniz. Bkz Bulut Firestore Oluştur varlığını .

sorgulama

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

Gerçek Zamanlı Veritabanı Bulut Firestore
Sınırlı olan Derin sorguları sıralama ve filtreleme işlevi .
  • Sorgular, ikisini birden değil sıralamak veya bir mülk üzerinde filtreleme yapabilirsiniz.
  • Sorgular varsayılan olarak derindir: her zaman tüm alt ağacı döndürürler.
  • Sorgular, JSON ağacındaki bireysel yaprak düğüm değerlerine kadar herhangi bir ayrıntı düzeyinde verilere erişebilir.
  • Sorgular bir dizin gerektirmez; ancak veri kümeniz büyüdükçe belirli sorguların performansı düşer.
Bileşik, Endeksli sorgular sıralama ve filtre .
  • Filtreleri zincirleyebilir ve tek bir sorguda bir özellik üzerinde filtreleme ve sıralamayı 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 tüm belgeleri döndürmelidir.
  • Sorgular varsayılan olarak dizine eklenir: Sorgu performansı, veri kümenizle değil, sonuç kümenizin boyutuyla orantılıdır.

Yazılar ve işlemler

Gerçek Zamanlı Veritabanı Bulut Firestore
Temel yazma ve işlem işlemleri.
  • Yaz veri seti ve güncelleme işlemleri yoluyla.
  • İşlemler belirli bir veri alt ağacının üzerinde atom vardır.
Gelişmiş yazma ve işlem işlemleri.
  • Yaz veri işlemleri seti ve güncelleme işlemleri yoluyla yanı sıra dizide ve sayısal operatörler gibi gelişmiş dönüşümler.
  • İşlemler atomik olarak okumak ve veritabanı herhangi bir yerinden yazma veri olabilir.

Güvenilirlik ve performans

Gerçek Zamanlı Veritabanı Bulut Firestore
Realtime Database bölgesel bir çözümdür.
  • Bölgesel konfigürasyonlarda mevcuttur. Veritabanları, bir bölgedeki bölgesel kullanılabilirlikle sınırlıdır.
  • Son derece düşük gecikme süresi, sık durum senkronizasyonu için ideal seçenek.
Gerçek Zamanlı Veri Tabanı performans ve güvenilirlik özellikleri hakkında daha fazlasını okuyun Hizmet Seviyesi Anlaşması .
Cloud Firestore, otomatik olarak ölçeklenen bölgesel ve çok bölgeli bir çözümdür.
  • Verilerinizi farklı bölgelerdeki birden çok 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.
Cloud Firestore performans ve güvenilirlik özellikleri hakkında daha fazlasını okuyun Hizmet Seviyesi Anlaşması .

ölçeklenebilirlik

Gerçek Zamanlı Veritabanı Bulut Firestore
Ölçekleme, parçalama gerektirir.
  • Tek bir veritabanında yaklaşık 200.000 eşzamanlı bağlantıya ve 1.000 yazma/saniyeye ölçeklendirin. Bunun ötesinde ölçeklendirme, verilerinizi birden çok veritabanında paylaşmayı gerektirir.
  • Tek tek veri parçalarına yazma oranlarında yerel sınır yoktur.
Ölçekleme otomatiktir.
  • Tamamen otomatik olarak ölçeklenir. Şu anda, ö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.
  • Has sınırları bireysel belgelere veya endeksler yazma oranları üzerinde.

Güvenlik

Gerçek Zamanlı Veritabanı Bulut Firestore
Yetkilendirme ve doğrulamayı ayıran basamaklı kurallar dili. Yetkilendirme ve doğrulamayı birleştiren basamaklı olmayan kurallar.
  • Okur ve güvence altına cep SDK'larla yazar Bulut Firestore Güvenlik Kuralları .
  • Okur ve güvence altına sunucu SDK'larına gelen yazıyor Kimlik ve Erişim Yönetimi (IAM) .
  • Bir joker karakter kullanmadığınız sürece kurallar art arda gelmez.
  • Kurallar, sorguları sınırlayabilir: Bir sorgunun sonuçları, kullanıcının erişimi olmayan veriler içeriyorsa, sorgunun tamamı başarısız olur.

fiyatlandırma

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

Gerçek Zamanlı Veritabanı Bulut Firestore
Sadece bant genişliği ve depolama için şarj eder, ancak daha yüksek oranda.

Hakkında daha fazlasını okuyun Gerçek Zamanlı Veri Tabanı fiyatlandırma planları .

Öncelikle operasyonların üzerinden ücretlendirme daha düşük bir oran, bant genişliği ve depolama de veritabanınızın (okuma, yazma, silme) gerçekleştirilen ve.

Bulut Firestore günlük destekler harcama limitlerini emin sizi zorlamayacak maliyetleri üzerinde gitmez yapmak, App Engine projeleri için.

Hakkında daha fazlasını okuyun Bulut Firestore fiyatlandırma planları .

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

Her iki veritabanını da aynı Firebase uygulaması veya projesi içinde kullanabilirsiniz. Her iki NoSQL veri tabanı da aynı türde verileri depolayabilir ve istemci kitaplıkları benzer şekilde çalışır. Akılda Eğer karar verirseniz yukarıda özetlenen farklılıkları tutun uygulamanızda hem veritabanlarını kullanmak .

Hem mevcut özellikleri daha öğrenin Gerçek Zamanlı Veritabanı ve Bulut Firestore .

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

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