Firebase'i MongoDB'ye göre kullanmanın bazı nicel avantajları nelerdir? (görüşler değil)
Firebase'in kendi API'sı ile bulut tabanlı bir hizmet olduğunu biliyorum, ancak Mongo'nun uzun vadede bana daha fazla kontrol sağlayabileceğini hissediyorum.
Firebase'i MongoDB'ye göre kullanmanın bazı nicel avantajları nelerdir? (görüşler değil)
Firebase'in kendi API'sı ile bulut tabanlı bir hizmet olduğunu biliyorum, ancak Mongo'nun uzun vadede bana daha fazla kontrol sağlayabileceğini hissediyorum.
Yanıtlar:
EDIT: İşte uygulamanızda Firebase Node.js + MongoDb ile değiştirmek için güzel bir makale . Kendi başına ne kadar iş yapmanız gerektiğini gösterir ve IMHO'yu, bir girişimin (küçük uygulama) Firebase ile neden başlaması (istemcilere gerçek zamanlı güncellemeler gerekiyorsa) ve MongoDb ile devam etmesi (her durumda -yazılı çözüm) proje gelişmeye devam ederse
DÜZENLEME 2: Google Firebase tarafından satın alındıktan sonra , temel özelliklerinin üstünde kendi başınıza oluşturmaya çalışacağınız çeşitli avantajlar sunuyor:
Geliştirme için
Büyüme için
Elmalar ve Portakallar. Firebase, kimlik yönetimi, gerçek zamanlı veri görünümleri ve belge veritabanı içeren bir Hizmet Olarak Arka Uçtur. Bulutta çalışır.
MongoDB ise zengin bir sorgu dili olan tam teşekküllü bir veritabanıdır. Prensip olarak kendi makinenizde çalışır, ancak bulut sağlayıcıları vardır.
Eğer veritabanı bileşeni arıyorsanız sadece MongoDB çok daha olgun ve zengin özelliklere sahip.
Firebase gerçek zamanlı güncellemeler için tasarlanmıştır. Açısal ile kolayca entegre olur. Her ikisi de NoSQL veritabanlarıdır. MongoDB bunu Angular through Socket.io entegrasyonu ile de yapabilir. Meteor.js ayrıca, gerçek zamanlı güncellemeler için açık soket bağlantılı MongoDB'yi kullanır.
MongoDB yerel olarak çalıştırılabilir veya birçok farklı bulut tabanlı sağlayıcıda barındırılabilir. Firebase, bence küçük uygulamalar için harika, çok hızlı bir şekilde çalışmaya başlıyor. MongoDB daha sağlam daha büyük uygulamalar için idealdir, gerçek zamanlı entegrasyon mümkündür, ancak biraz daha fazla iş gerektirir.
Firebase'i kullandıktan sonra önemli miktarda bir şey bulmaya geldim.
Büyük, gerçek zamanlı uygulamalar için kullanmayı planlıyorsanız, en iyi seçim değildir. Kötü bir hata işleme sistemi ve sınırlamalar da dahil olmak üzere kendi geniş bir dizi sorunu vardır. Firebase'i ve karışıklıklarını anlamaya çalışmak için önemli zaman harcayacaksınız. Bir projenin kontrolden çıkmış monolitik bir şey haline gelmesi de oldukça kolaydır. MongoDB, büyük bir uygulama için bir arka uç olduğu sürece çok daha iyi bir seçimdir.
Ancak, küçük bir uygulama yapmanız veya bir şeyi hızlı bir şekilde prototiplemeniz gerekiyorsa, Firebase mükemmel bir seçimdir. Yere koşmak için inanılmaz derecede kolay bir yol olacak.
Bu soruyu Firebase'in Angular kütüphanesi AngularFire açısından cevaplayacağım.
Tl; dr: süper güçler. :-)
AngularFire'ın üç yönlü veri bağlaması. Açısal görünüm ve $ kapsamını, yani kullanıcılarınızın görünümde yaptıklarını yerel değişkenlerde otomatik olarak günceller ve JavaScript'iniz yerel bir değişkeni güncellediğinde görünüm otomatik olarak güncellenir. Firebase ile bulut veritabanı da otomatik olarak güncellenir. $ Http.get veya $ http.put istekleri yazmanıza gerek yoktur, veriler güncellenir.
Beş yönlü veri bağlama ve yedi yönlü, dokuz yönlü vb. AngularFire kullanarak tic-tac-toe oyunu yaptım. İki oyuncu birlikte oynayabilir, iki görünüm iki dolar kapsamını ve bulut veritabanını günceller. Hepsi bir Firebase veritabanını paylaşan üç veya daha fazla oyuncu ile oyun yapabilirsiniz.
AngularFire'ın OAuth2 kütüphanesi Facebook, GitHub, Google, Twitter, belirteçler ve şifrelerle yetkilendirmeyi kolaylaştırır.
Çift güvenlik. Yetkilendirme gerektirecek Açısal rotalarınızı ayarlayabilir ve Firebase'de kimlerin veri okuyabileceği ve yazabileceği konusunda kurallar ayarlayabilirsiniz.
Arka uç yok. Node ve Express ile sunucu yapmanız gerekmez. Kendi sunucunuzu çalıştırmak çok iş olabilir, güvenlik hakkında bilgi gerektirir, sunucu çökerse birinin bir şey yapmasını gerektirir vb.
Hızlı. Sunucunuz San Francisco'daysa ve istemci San Jose'daysa, iyi. Ancak Bangalore'deki bir istemci için sunucunuza bağlanmak daha yavaş olacaktır. Firebase her yerde hızlı bağlantılar için dünya çapında konuşlandırılmıştır.
Deneyimlerime göre, tüm bu özellikler zaten iyi entegre olduğundan, kullanıcı yönetimi, veritabanı, mesajlaşma uygulaması yapmaya çalışıyorsanız Firebase ile çalışmak büyük bir avantajdır.
Diğerlerinin söylediği gibi, sadece veritabanı / sorgulama yönüne odaklanmışsanız, mongo'ya sadık kalın.
Firebase bir dizi özelliktir.
Firebase Gerçek Zamanlı Veritabanını Mongo DB ile karşılaştırmaya çalıştığınıza inanıyorum. Firebase Gerçek Zamanlı Veritabanı, verileri JSON biçiminde depolar ve verilerin tüm güncelleştirmeleri ile verileri dinleyen tüm istemcilere eşitler. Sizi herhangi bir veritabanını kurmak ve ölçeklemek için gereken tüm karmaşıklıktan soyutlar. Verilerin toplanmasının gerektiği çok karmaşık senaryoların bulunduğu firebase'i tavsiye etmeyeceğim. (SUM / AVERAGE tür şeyler gerektiren sorgular). Bu son zamanlarda Firebase işlevleri kullanılarak gerçekleştirilebilir. Firebase'deki verilerin modellenmesi zordur. Ama anında başlamanızı sağlamanın en iyi yolu budur. MongoDB bir veritabanıdır. Bu size birçok güçlü özellik sunar. Ancak MongoDB herhangi bir platforma kurulduğunda kendiniz yönetmeniz gerekir.
Firebase veya MongoDB (veya herhangi bir DB) arasında seçim yapmaya çalıştığınızda. Aşağıdakileri cevaplamaya çalışıyorum.
Firebase, gerçek zamanlı değişiklik yansıması, kimlik doğrulama mekanizmasının kolay entegrasyonu ve hızlı web geliştirme için diğer birçok yerleşik özellik gibi bazı iyi özellikler sunar. Firebase, Web geliştirmeyi gerçekten hiç bu kadar kolay olmamış hale getiriyor. Firebase veritabanı MongoDB'nin bir çataldır .
Firebase'i MongoDB'ye göre kullanmanın avantajı nedir?
Sen yararlanabilirsiniz Firebase tüm yerleşik özellikler MongoDB üzerinde.