Firebase, gerçek zamanlı veri senkronizasyonunu destekleyen, bulut tabanlı, istemci tarafından erişilebilen iki veritabanı çözümü sunar:
Cloud Firestore , Firebase'in mobil uygulama geliştirme için en yeni veritabanıdır. Yeni, daha sezgisel bir veri modeliyle Gerçek Zamanlı Veritabanının başarılarını temel alır. Cloud Firestore ayrıca Realtime Database'den daha zengin, daha hızlı sorgular ve ölçekler sunar.
Realtime Database , Firebase'in orijinal veritabanıdır. İstemciler arasında gerçek zamanlı olarak 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şlemlere ihtiyacınız yoksa Realtime Database'i öneririz. Gelişmiş sorgulama, sıralama ve işlemler. Verilerinizle örneğin e-ticaret uygulamalarında karmaşık etkileşimlere ihtiyacınız varsa Cloud Firestore'u öneririz. |
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ız bir dijital beyaz tahta uygulamasında olduğu gibi küçük güncellemeler akışı gönderecekse, Realtime Database'i öneririz. Değiştirildiğinden çok daha sık okunan yüzlerce GB ila TB veri. Çok büyük veri kümeleri için ve toplu işlemlere sıklıkla 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üzenlenen belgeler. Yapılandırılmış belgeler ve koleksiyonlar için Cloud Firestore'u öneririz. |
kullanılabilirlik | Müsaitlik ihtiyaçlarım... %99,999'luk son derece yüksek çalışma süresi garantisi. Kullanılabilirlik, örneğin e-ticaret uygulamalarında 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 verilerle ilgili çevrimdışı sorgular | Uygulamamın, sınırlı veya bağlantısı olmayan cihazlarda sorgu yapması gerekecek... Sıklıkla. 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 çevrimiçi olmasını bekliyorsanız, Cloud Firestore veya Realtime Database'i öneririz. |
Veritabanı örneklerinin sayısı | Bireysel projelerimde kullanmam gereken ... 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 bazı ö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ı | Bulut Firestore |
---|---|
Verileri büyük bir JSON ağacı olarak depolar.
Gerçek Zamanlı Veritabanı veri modeli hakkında daha fazla bilgi edinin. | Verileri belge koleksiyonları olarak depolar.
Cloud Firestore veri modeli hakkında daha fazla bilgi edinin. |
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 |
---|---|
Apple Android istemcileri için çevrimdışı destek. | Apple, 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. Cloud Firestore'da varlık oluşturma konusuna bakı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ı sıralama ve filtreleme işlevine sahip derin sorgular.
| Bileşik sıralama ve filtreleme ile dizine alınmış sorgular.
|
Yazma ve işlemler
Gerçek Zamanlı Veritabanı | Bulut Firestore |
---|---|
Temel yazma ve işlem işlemleri.
| Gelişmiş yazma ve işlem işlemleri.
|
Güvenilirlik ve performans
Gerçek Zamanlı Veritabanı | Bulut Firestore |
---|---|
Realtime Database bölgesel bir çözümdür.
| Cloud Firestore, otomatik olarak ölçeklenen bölgesel ve çok bölgeli bir çözümdür.
|
ölçeklenebilirlik
Gerçek Zamanlı Veritabanı | Bulut Firestore |
---|---|
Ölçekleme, parçalama gerektirir.
| Ölçekleme otomatiktir.
|
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.
|
fiyatlandırma
Her iki çözüm de Spark ve Blaze fiyatlandırma planlarında mevcuttur.
Gerçek Zamanlı Veritabanı | Bulut Firestore |
---|---|
Yalnızca bant genişliği ve depolama için ücret alınır, ancak daha yüksek bir oranda. Realtime Database fiyatlandırma planları hakkında daha fazla bilgi edinin. | Öncelikle veritabanınızda gerçekleştirilen işlemler (okuma, yazma, silme) ve daha düşük bir oranda bant genişliği ve depolama üzerinden ücretlendirilir. Cloud Firestore, size uygun maliyetleri aşmadığınızdan emin olmak için 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. |
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. Uygulamanızda her iki veritabanını da kullanmaya karar verirseniz, yukarıda ö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ı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.
- Cloud Firestore için, Cloud Firestore'u kullanmaya başlayın'a bakın.
- Gerçek Zamanlı Veritabanı için platformunuz için Başlarken konusunu okuyun: Apple , Android , C++ , Unity , Web veya REST .