Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Bir Veritabanı Seçin: Cloud Firestore veya Realtime Database

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

  • Cloud Firestore , Firebase'in mobil uygulama geliştirmeye yönelik en yeni veritabanıdır. Yeni, daha sezgisel bir veri modeliyle Gerçek Zamanlı Veritabanının başarılarına dayanır. Cloud Firestore ayrıca, Gerçek Zamanlı Veritabanından daha zengin, daha hızlı sorgular ve ölçeklendirme sunar.

  • Gerçek Zamanlı Veritabanı , Firebase'in orijinal veritabanıdır. İstemciler arasında gerçek zamanlı olarak senkronize 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:

  • İstemci öncelikli SDK'lar, dağıtılacak ve bakımı yapılacak sunucuları yok
  • Gerçek zamanlı güncellemeler
  • Ücretsiz kullanım, ardından kullandığınız kadar ödeyin

Kilit hususlar

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

Veritabanının rolü
Uygulamam şu amaçla bir veritabanı kullanıyor ...
Öncelikle verileri temel sorgulama ile senkronize etme.
Gelişmiş sorgulama, sıralama ve işlemlere ihtiyacınız yoksa, Realtime Database'i öneririz.
Gelişmiş sorgulama, sıralama ve işlemler.
Verilerinizle karmaşık etkileşimlere ihtiyacınız varsa, örneğin e-ticaret uygulamalarında, Cloud Firestore'u öneririz.
Veriler üzerinde işlemler
Uygulamamın veritabanı kullanımı şuna benziyor ...
Sıklıkla değişen birkaç GB veya daha az veri.
Uygulamanız, dijital beyaz tahta uygulaması gibi küçük güncellemeler gönderecekse, Gerçek Zamanlı Veritabanını öneririz.
Yüzlerce GB'den TB'ye kadar veri değiştiğinden çok daha sık okunur.
Çok büyük veri kümeleri için ve toplu işlemlere sık sık ihtiyaç duyulduğunda, Cloud Firestore'u öneririz.
Veri örneği
Verilerimi şu şekilde yapılandırmayı tercih ediyorum ...
Basit bir JSON ağacı.
JSON yapılandırılmamış verileri için Realtime Database'i öneririz.
Koleksiyonlar halinde düzenlenmiş belgeler.
Yapılandırılmış belgeler ve koleksiyonlar için Cloud Firestore'u öneririz.
Kullanılabilirlik
Müsaitlik ihtiyaçlarım ...
% 99,999 ile son derece yüksek çalışma süresi garantisi.
Örneğin e-ticaret uygulamalarında kullanılabilirlik son derece önemliyse, Cloud Firestore'u öneririz.
En az% 99,95 çalışma süresi garantisi.
Çok yüksek ancak kritik olmayan kullanılabilirlik kabul edilebilir olduğunda, Cloud Firestore veya Realtime Database'i öneririz.
Yerel verilerde çevrimdışı sorgular
Uygulamamın, sınırlı bağlantısı olan veya hiç bağlantısı olmayan cihazlarda sorgu gerçekleştirmesi gerekecek ...
Sık sık.
Kullanıcı çevrimdışıyken yerel veriler üzerinde gelişmiş sorgulama özellikleri için Cloud Firestore'u öneririz.
Nadiren veya asla.
Kullanıcılarınızın sürekli olarak çevrimiçi olmasını bekliyorsanız, Cloud Firestore veya Realtime Database'i öneririz.
Veritabanı örneklerinin sayısı
Bireysel projelerimde kullanmam gerekiyor ...
Birçok veritabanı, örneğin her büyük müşteri için bir veritabanı.
Tek bir Firebase projesine birden çok veritabanı eklemenize izin verdiği için Realtime Database'i öneririz.
Sadece tek bir veritabanı.
Tek bir veritabanına ihtiyacınız varsa, Cloud Firestore veya Realtime Database'i öneririz.

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

Önceki önemli hususları düşündükten sonra, bir veritabanı seçmeye hazır olabilirsiniz. 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ı Cloud Firestore
Verileri büyük bir JSON ağacı olarak depolar.
  • Basit verilerin depolanması çok kolaydır.
  • Karmaşık, hiyerarşik verilerin geniş ölçekte organize edilmesi daha zordur.

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

Verileri belge koleksiyonları olarak depolar.
  • JSON'a çok benzeyen belgelerde basit verilerin depolanması kolaydır.
  • Belgeler içindeki alt koleksiyonlar kullanılarak karmaşık, hiyerarşik verilerin geniş ölçekte organize edilmesi daha kolaydır.
  • Daha az normalleştirme ve veri düzleştirme gerektirir.

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

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

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

Gerçek Zamanlı Veritabanı Cloud Firestore
İOS ve Android istemcileri için çevrimdışı destek. İOS, Android ve web istemcileri için çevrimdışı destek.

Varlık

Bir müşterinin 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üncelleme sağlayabilir.

Gerçek Zamanlı Veritabanı Cloud Firestore
Durum desteklendi. Yerel olarak desteklenmez. Cloud Functions'ı kullanarak Cloud Firestore ve Realtime Database'i senkronize ederek Realtime Database'in varlık desteğinden yararlanabilirsiniz. Cloud Firestore'da varlık oluşturma konusuna bakın.

Sorgulama

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

Gerçek Zamanlı Veritabanı Cloud Firestore
Sınırlı sıralama ve filtreleme işlevine 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 bağımsız 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 sıralama ve filtreleme ile dizine alınmış sorgular.
  • Filtreleri zincirleyebilir ve bir özellik üzerinde filtreleme ve sıralamayı tek bir sorguda birleştirebilirsiniz.
  • Sorgular yüzeyseldir: Yalnızca belirli bir koleksiyon veya koleksiyon grubundaki belgeleri döndürürler ve alt toplama 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ı Cloud Firestore
Temel yazma ve işlem işlemleri. Gelişmiş yazma ve işlem işlemleri.
  • Veri işlemlerini set ve güncelleme işlemlerinin yanı sıra dizi ve sayısal işleçler gibi gelişmiş dönüşümler aracılığıyla yazın .
  • İşlemler , veritabanının herhangi bir bölümünden verileri atomik olarak okuyabilir ve yazabilir.

Güvenilirlik ve performans

Gerçek Zamanlı Veritabanı Cloud 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ık durum senkronizasyonu için ideal seçenek.
Hizmet Düzeyi Sözleşmesinde Gerçek Zamanlı Veritabanı performansı ve güvenilirlik özellikleri hakkında daha fazla bilgi edinin.
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.
  • Tüm dünyada 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.

Ölçeklenebilirlik

Gerçek Zamanlı Veritabanı Cloud Firestore
Ölçeklendirme, parçalama gerektirir.
  • Tek bir veritabanında yaklaşık 200.000 eşzamanlı bağlantı ve 1.000 yazma / saniye olacak şekilde ölçeklendirin. Bunun ötesinde ölçeklendirme, verilerinizin birden çok veritabanında paylaşılmasını gerektirir.
  • Ayrı ayrı 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. İleride bu limitleri artırmayı planlıyoruz.
  • Tek tek belgelere veya dizinlere yazma oranlarıyla ilgili sınırları vardır .

Güvenlik

Gerçek Zamanlı Veritabanı Cloud Firestore
Yetkilendirme ve doğrulamayı ayıran basamaklı kurallar dili. Yetkilendirme ve doğrulamayı birleştiren ardışık olmayan kurallar.
  • Cloud Firestore Güvenlik Kuralları tarafından güvence altına alınan mobil SDK'lardan okur ve yazar.
  • Kimlik ve Erişim Yönetimi (IAM) tarafından güvence altına alınan sunucu SDK'larından okur ve yazar.
  • Joker karakter kullanmadığınız sürece kurallar art arda sıralanmaz.
  • Kurallar sorguları kısıtlayabilir: Bir sorgunun sonuçları, kullanıcının erişemediği verileri içeriyorsa, tüm sorgu başarısız olur.

Fiyatlandırma

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

Gerçek Zamanlı Veritabanı Cloud Firestore
Yalnızca bant genişliği ve depolama için ücretler, ancak daha yüksek bir oranda.

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

Esas olarak veritabanınızda gerçekleştirilen işlemler (okuma, yazma, silme) ve daha düşük bir oranda, bant genişliği ve depolama ile ücretlendirilir.

Cloud Firestore, rahat olduğunuz maliyetleri aşmadığınızdan emin olmak için Google App Engine projeleri için günlükharcama sınırlarını destekler.

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

Cloud Firestore ve Realtime Database'i Kullanma

Her iki veritabanını da aynı Firebase uygulaması veya projesi içinde kullanabilirsiniz. Her iki NoSQL veritabanı aynı tür verileri depolayabilir ve istemci kitaplıkları benzer şekilde çalışır. Uygulamanızda her iki veritabanını da kullanmaya karar verirseniz, yukarıda belirtilen farklılıkları aklınızda bulundurun.

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

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.