Realtime vs Cloud Firestore: Hangi Firebase Veritabanını Seçmelisiniz

Yayınlanan: 2018-10-12

Geçmiş, Firebase veritabanında çok da öteye gitmez. Bir mobil ve web geliştirme platformu olarak kurulan Firebase, 2011 yılında hayata geçirildi ve 2014 yılında teknoloji devi Google tarafından satın alındı ​​ve kaderi değişti.

Firebase'in evrim tarihinin önüne geçerek, Google tarafından satın alınmasından sonraki bir yıl içinde Divshot ile birleştirildi ve o zamandan beri mobil geliştiriciler için birleşik bir platform haline geldi.

Firebase, geliştiriciler için daha geniş ürünler ve ölçek sunmak için artık çeşitli diğer Google hizmetleriyle entegre oluyor. Aslında sunduğu avantajlar, Firebase'i yeni başlayanlar için trend olan bir süreç haline getiriyor.

Peki Firebase veritabanı nedir? Firebase bir BaaS'dir, yani Hizmet Olarak Arka Uç. Firebase tarafından sağlanan Ürünleri kullanarak, yüksek kaliteli uygulamalar oluşturabilenler yalnızca Mobil geliştiriciler değildir. Google, Firebase web kullanıcıları için de birkaç yeni özellik başlattı .

Firebase'in az önce bahsettiğimiz tüm uygulamaları oluşturmayı mümkün kılan iki ürünü vardır. Gerçek zamanlı ve Bulut Firestore.

Realtime, Google'ın Firebase veritabanının ve Cloud Firestore'un köklü bir ürünüdür ve daha iyi teknolojiler vaat ederken, hala beta test aşamasındadır.

Google'a göre:

Gerçek zamanlı veritabanı , Firebase'in orijinal veritabanıdır. İstemciler arasında gerçek zamanlı olarak senkronize durumlar gerektiren bir mobil uygulama için verimli ve düşük gecikmeli bir çözümdür.

Cloud Firestore , Firebase'in mobil uygulama geliştirme için yeni amiral gemisi veritabanıdır. Yeni, daha sezgisel bir veri modeliyle Gerçek Zamanlı Veritabanının başarılarını geliştirir. Cloud Firestore ayrıca Realtime Database'den daha zengin, daha hızlı sorgular ve ölçekler sunar.

Realtime Database ve Cloud Firestore'un bireysel özelliklerine gelmeden önce, bir sonraki projeniz için Firebase veritabanını kullanmanın avantajlarına ve dezavantajlarına bir göz atalım:

Firebase Veritabanının Avantajları:

Advantages of Firebase Database Nedenlerin listesine bir göz atarsak, neden tüm mobil ve web uygulaması geliştirme için tek duraklı veritabanı olarak firebase veritabanını kullanmalı, Firebase db'nin mobil uygulama geliştirme endüstrisinde neden bu kadar büyük bir hit haline geldiğini göreceğiz.

  • Kolay Veri Taşıma – Son gelişmeler, geliştiricilere verileri kolayca taşımaları için araçlar sağlamıştır.
  • Ekstra bilgi gerekmez – Firebase db'de çalışmak için devOps veya sysadmin hakkında neredeyse sıfır bilgi gerekir.
  • Çeşitli veri türlerinin doğrulanması - Firebase veritabanı yapısı şemasız olsa da, çeşitli veri türlerini doğrulamak için temel yeteneğe sahiptir.
  • Tek noktadan araç – Her şeyi kapsayan bir araçtır ve küçük bir mobil uygulamanın arka ucu için mutlaka ihtiyacınız olan tek araçtır.
  • Kullanımı daha kolay – Kullanım zorluk seviyesi ortalamanın biraz üzerindedir ancak analitik ve kilitlenme izleme ile entegrasyon söz konusu olduğunda diğer sistemlerin çoğundan daha kolaydır.
  • Ücretsiz Kullanım – İlk aşamada ücretsizdir, böylece ilk kez deneyen geliştiricilerin büyük bir başlangıç ​​yatırımı yapma konusunda endişelenmelerine gerek kalmaz
  • Zengin Kod Kitaplıkları – Programlama dillerindeki tüm kod kitaplıkları benzerdir ve yeni başlayanlar için de iyi korunur.
  • JSON veri yapısı – Veri yapısı, UI JavaScript ile mükemmel bir şekilde eşleşen JSON'dur.
  • Hızlı geliştirme – Bir uygulamayı sıfırdan elde etmek çok hızlıdır – kimlik doğrulama, e-posta, sürüm oluşturma, barındırma, izleme, DevOps, çalışma süresi.
  • Kolay akış – Gerçek zamanlı çalışan veya akış güncellemeleri çok kolaydır.

Şimdi, hangisinin ne zaman kullanılacağını daha net anlamak için Realtime veritabanını ve Cloud Firestore'u karşılaştıralım. Cloud firestore, hala beta test aşamasındadır ve Realtime veritabanından daha umut verici bir şekilde bakıyor ve çalışıyor. Bu karşılaştırmada, iki veritabanının birbirinden nasıl farklılaştığını ve gerçek zamanlı veritabanı ile cloud firestore karşılaştırmasını kimin kazandığını göreceğiz.

Veri örneği

  • Gerçek zamanlı veritabanı , verileri büyük bir JSON ağacı olarak depolar, bu da basit verilerin depolanmasını çok kolaylaştırır, ancak Karmaşık veya hiyerarşik verilerin ölçekte düzenlenmesi daha zordur.
  • Cloud Firestore ise verileri koleksiyonlarda düzenlenen belgeler biçiminde depolar. Bunda basit verilerin saklanması JSON'a benzer ve belgelerde saklanır. Oysa karmaşık veya hiyerarşik verilerin, belgeler içinde alt koleksiyonların kullanımıyla ölçekte organize edilmesi daha kolay değildir. Ve genel olarak daha az denormalizasyon ve veri düzleştirme gerektirir.

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

  • Gerçek zamanlı veritabanı , yalnızca Android ve iOS mobil istemcileri için çevrimdışı destek sağlar.
  • Cloud Firestore ise Android, iOS ve web istemcileri için çevrimdışı destek sağlar.

sorgulama

  • Gerçek zamanlı veritabanı , geliştiricilerin tek bir sorguda bir özelliği sıralayabildiği veya filtreleyebildiği, sınırlı sıralama ve filtreleme işlevine sahip derin sorgular sağlar. Ve tüm sorgular varsayılan olarak derindir, yani her zaman tüm alt ağacı döndürür.
  • Cloud Firestore , geliştiricilerin tek bir sorguda bir özellik üzerinde filtreleme ve sıralamayı zincirleme olarak filtreleyebildiği ve birleştirebildiği bileşik sıralama ve filtreleme ile sorguyu dizinler. Alt koleksiyonlar için sığ sorgular yazmak da mümkündür, yani geliştiriciler bir koleksiyonun tamamı veya bir belgenin tamamı yerine bir belge içinde sorgulama yapabilir. Yalnızca bu değil, sorgular da varsayılan olarak dizine eklenir, bu, sorgu performansının veri kümesiyle değil, sonuç kümesinin boyutuyla orantılı olduğu anlamına gelir.

işlemler

  • Realtime veritabanında temel yazma ve işlem işlemleri vardır . Veri yazma, bireysel bir işlem olarak çalışır ve İşlemler, yerel SDK'larda bir tamamlama geri araması gerektirir.
  • Cloud Firestore , Atomik yazma ve işlem işlemlerine izin verir. İşlemleri gruplandırır ve otomatik olarak tamamlar. Ayrıca işlemler tamamlanana kadar otomatik olarak tekrarlanır.

Performans ve güvenilirlik

  • Gerçek zamanlı veritabanı olgun bir üründür. Birçok kez denenmiş ve test edilmiş gerçek ürünün kararlılığına sahiptir. Ayrıca çok düşük gecikme süresine sahiptir, bu nedenle sık durum senkronizasyonu için iyi bir seçenektir. Bununla birlikte, veritabanları tek bir bölgedeki bölgesel kullanılabilirlikle sınırlıdır.
  • Cloud Firestore performansı henüz beta aşamasında olduğu için ölçülemez . Ve beta üründeki kararlılık, tam olarak piyasaya sürülen bir ürünle aynı değildir. Ancak güvenilirlik açısından Cloud Firestore, tüm verilerinizi farklı bölgelerdeki birden fazla veri merkezinde barındırarak küresel ölçeklenebilirlik ve güçlü güvenilirlik sağlar. Teoride, Cloud Firestore beta sürümünden çıktığında, Gerçek Zamanlı veritabanından daha güçlü bir güvenilirliğe sahip olacaktır.

ölçeklenebilirlik

  • Realtime veritabanında ölçekleme, parçalama gerektirir . Basitçe söylemek gerekirse, tek bir veritabanında yaklaşık 100.000 eşzamanlı bağlantıya ve 1000 yazma/saniyeye ölçeklendirin ve bunun ötesinde, verilerinizi birden çok veritabanında paylaşmayı gerektirir.
  • Cloud firestore beta sürümünden çıktığında , ölçeklendirme otomatik olacak ve geliştiricilerin verilerini birden çok örnek arasında parçalamaları gerekmeyecek.

Güvenlik

  • Gerçek zamanlı veritabanı , ayrı doğrulama gerektiren basamaklı kurallara sahiptir. Firebase veritabanı kuralları, buradaki tek güvenlik seçeneğidir ve geliştiricilerin, 'validate' kuralını kullanarak verileri ayrı olarak doğrulaması gerekir.
  • Cloud Firestore , Kimlik ve Erişim Yönetimi (IAM) kullanan mobil, web ve sunucu SDK'ları için daha basit ve daha güçlü bir güvenliğe sahiptir. Veri doğrulama da otomatik olarak gerçekleşir. Ayrıca kurallar, sorguları kısıtlayabilir, yani bir sorgunun sonuçları geliştiricinin erişimi olmayan veriler içeriyorsa, sorgunun tamamı başarısız olur.

fiyatlandırma

  • Gerçek zamanlı veritabanı yalnızca bant genişliği ve depolama için ücret alır, ancak daha yüksek bir fiyata.
  • Cloud Firestore ise, ö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. Ayrıca Google App Engine projeleri için günlük harcama sınırlarını da destekler.

Firebase'in nasıl çalıştığını hala merak ediyor musunuz? Yukarıdaki makalede bildiklerimizin bir özetini geri saralım.

How Does Firebase Work

Gerçek Zamanlı Veritabanı ne zaman kullanılır:

  • Verileriniz basitse ve karmaşık veya hiyerarşik değilse
  • 100.000 eşzamanlı bağlantı altında ölçeklendirmeniz gerekiyorsa, tek bir veritabanında 1000 yazma/saniye
  • Gerçekleştirilen bireysel işlemler için değil, genel bant genişliği ve depolama için ücret alan bir veritabanına ihtiyacınız olduğunda.

Cloud Firestore veritabanı ne zaman kullanılır:

  • Verileriniz karmaşık veya hiyerarşik ise
  • Verileriniz 100.000 eşzamanlı bağlantının üzerinde ölçekleniyorsa
  • Daha kesin bir harcama limitine ve öncelikli olarak 1'den ücret alan bir veritabanına ihtiyacınız varsa, PicCollage, Fabulous, Shazam ve Skyscanner ve hepimiz başarılı bir şekilde çalıştıkları konusunda hemfikir olabiliriz.

Sonuç olarak, Firebase db modelleri onlar için iyi gidiyor. Realtime firebase yıllardır başarılı bir şekilde çalışıyor ve geçen yıl Cloud Firestore'un beta sürümünün yayınlanmasıyla birlikte, mobil uygulama geliştiricileri ve uygulama geliştirme şirketlerini daha iyi şeyler bekliyor.