Girişimciler için Geldi: Firestore

Onur Tuna
GDG Ankara
Published in
3 min readMar 10, 2019

31 Ocak 2019 itibariyle artık Firestore beta değil.

Mobil bir uygulama projesi geliştireceğimiz zaman arka planda çok önemli işler yapmamıza her zaman gerek olmayabilir. Özellikle geliştireceğimiz uygulama henüz daha çok yeni bir fikirden ibaret ve olgunlaşması için daha fazla zamana ihtiyacımız olacaksa yalnızca uzak bir bilgisayara veri kaydetmemiz ve o uzak bilgisayardan veri almamız yeterli olabilir.

Gerçek zamanlı veritabanı servisi kullanmazsak uygulamamızın çalışır hale gelebilmesi için bir servis yazılımı yazmamız gerekir. Bu servis yazılımını uzak bir bilgisayara kurarız ve bunun için para öderiz. Üstelik güvenliğiyle de kendimizin ilgilenmesi gerekir. Yatırımcı ya da ilk versiyonlar için deneme amaçlı olarak bir kitleye uygulamanızı kullandırmak istiyorsanız tahmin edeceğiniz üzere oldukça vakit kaybedebilirsiniz.

Yukarıda anlattığım gibi sorunlarla uğraşmamanız için Google, Firebase ile bir birçok güzel servis sunuyor. Elbette ücretsiz değiller ama diğer türlü daha fazla zaman ve para kaybedeceğinizi düşünürsek Google Cloud oldukça işe yarar bir platform.

Firestore’u henüz duymamış olabilirsiniz ama muhtemelen biliyor olmalısınız. Tarihine değinmek istemiyorum; doğrudan şu anki durumundan bahsedeyim. Firebase şu anda iki ayrı servis sunmakta. Bir tanesi eskiden beri olan gerçek zamanlı veritabanı. Ne işe yarıyor? Kısaca herhangi bir mobil, web ya da masaüstü uygulaması için kullanabileceğiniz veritabanı servisi. Diğer servis de bu yazıda bahsettiğim, henüz beta sürümünden yeni çıkmış olan Firestore.

Gerçek zamanlı bir veritabanı servisi varken, Google neden ayrı bir veritabanı servisi sundu? Çünkü özellikle mobil uygulamaların özelleşmiş gereksinimleri var. Diğer önemli etken de elbette girişimcilerin özelleşmiş gereksinimleri 😉 Firebase’i, Firestore da dahil tüm ürünleriyle beraber çok daha genel amaçlı bir servis gibi düşünebilirsiniz. Özellikle mobil uygulamaların gelişim süreçleri diğer uygulamalardan biraz daha farklıdır. Bu nedenle yeni geliştirilen mobil uygulamalarda, henüz daha yeni ortaya atılmış, olgunlaşmakta olan bir fikirde Firestore’un avantajları daha açık görülebilir. Doğal olarak bu konuya özellikle vurgu yapma gereği duyuyorum.

Şimdi çok dağılmadan hızlıca Firestore’un özellikleri üzerinden geçmek istiyorum. Daha önce MongoDB kullandıysanız yapı olarak çok yabancı olmayacaksınız. Firebase’in diğer ürünü gerçek zamanlı veritabanı ile yine veri saklayabilirsiniz. Saklıdığınız verilere de sorgular ile erişebilirsiniz. Ancak parçalara bölüp sizin için anlamlı gelecek şekilde bir yapı kuramazsınız. Verinin kendisi ve anahtar kelimeleriniz arttıkça yönetmek zorlaşır. Firestore doküman tabanlı bir yapı sunuyor. MongoDB’deki gibi veritabanı yapısı kurmanıza olanak sağlıyor. Açıkçası benim en ilgimi çeken yanı da bu oluyor.

Veritabanı olduğu için doğal olarak sıralama ve filtreme imkanı sunuyor. Ama burada gerçek zamanlı veritabanından farklı bir yönü var. Eğer Firebase’in gerçek zamanlı veritabanını kullandıysanız bilirsiniz, verinin parçalanabilir olmaması da nedeniyle, az bir veriye ihtiyaç duyarken bir filtreleme sonucu oldukça fazla veriyle gelir. Ne kadar basit görünse de sıralama ve filtrelemeyi tek sorguda yapamıyorsunuz. Önce filtreleyip sonra sıralayabilirsiniz örneğin. Bu da alt alta daha fazla satır demek. Firestore bu konuları düzeltiyor diyeyim kısaca. Veriyi parçalı tutabildiğiniz için parçalar arasında aramak da önemli bir avantaj. Özellikle hem yeni hem de doküman tabanlı olması nedeniyle Firestore ile daha hızlı sonuçlar elde etmenizi sağlıyor.

Gerçek zamanlı veritabanı saniyede 1000 yazma limitine sahipken bu sayı Firestore için 10000.

Ücretlendirme

Ücretlendirme yaptığınız işlem sayısına göre yapılıyor. Ayrıca kullandığınız bant genişliği ve kullandığınız kapasite de dahil. Çok kullanılmıyorsa daha az ödüyorsunuz. Henüz çok kullanıcıya erişememiş bir uygulama için bu model mantıklı olabilir. Çok kullanıcıya ulaşan bir uygulama da para kazanmaya başlamıştır artık. Doğal olarak yine mantıklı bir uygulama.

Güvenlik konusuna değinmek istemiyorum. Google’ın sunduğu bir servis ne kadar güvenli olabilirse Firestore da o kadar güvenlidir.

Bu yazıyı teknik konulara değinmemeye özen göstererek hazırladım. Umarım beğenmişsinizdir. Sonraki yazılarımda teknik anlamda da bir şeyler katmayı planlıyorum. 🙋‍♂️

--

--