Firebase Realtime Database ve Firebase Firestore Nedir?
Ben Kotlin ile Android Programlama Akademisi katılımcılarından Ecem Sude Ozan. Kotlin ile Android Programlama Akademisi, “Afetten Etkilenen…

Firebase Realtime Database ve Firebase Firestore Nedir?
Firebase Realtime Database ve Firebase Firestore Nedir?
Ben Kotlin ile Android Programlama Akademisi katılımcılarından Ecem Sude Ozan. Kotlin ile Android Programlama Akademisi, “Afetten Etkilenen Yazılımcı Gençlerin Güçlenmesi ve İstihdama Erişimi Projesi”, Sivil Toplum için Destek Vakfı ve Turkey Mozaik Foundation iş birliğiyle hayata geçirilen Yerel Güçlenmeye Destek Fonu kapsamında sağlanan hibe desteğiyle gerçekleştirilmektedir.
Herkese uzun bir aradan sonra merhabalar 👋🏻 Tekrardan bildiklerimi size aktarmaya devam ediyorum 🥳

Bu makalemde sizlere benim de henüz yeni öğrendiğim Firebase platformunun bir parçası olan Firebase Realtime Database ve Firebase Firestore yapılarında ve bunların arasındaki farklardan bahsedeceğim. İyi okumalar ✨
✵ FIREBASE NEDİR? ✵

Firebase, günümüz uygulama geliştirme dünyasında hız, kolaylık ve verimlilik arayan geliştiriciler için bir hazine niteliğindedir. Bu platform, uygulama yönetimi, veri tabanı işlemleri, dosya depolama, bildirim gönderme ve daha birçok özelliği sunarken, sunucu tarafında karmaşık kod yazma gerekliliğini ortadan kaldırır.
➥ Firebase Realtime Database Nedir?
Firebase Realtime Database, Google’ın bulut tabanlı veritabanı hizmetlerinden biridir ve gerçek zamanlı veri senkronizasyonunu sağlayarak uygulamalara anlık veri güncellemeleri sunar. Verileri JSON formatında saklar ve birden çok kullanıcının aynı anda veri üzerinde çalışmasına izin verir.
🙪 Firebase Realtime Database Nerelerde Kullanılır?
Firebase Realtime Database, verilerin hızlı bir şekilde senkronize edilmesini sağlar ve geliştiricilere karmaşık altyapı işlemleriyle uğraşmadan gerçek zamanlı uygulamalar geliştirmelerine yardımcı olur.

✦ Sohbet Uygulamaları:
Firebase Realtime Database, kullanıcıların gerçek zamanlı sohbet yapmalarını sağlayan uygulamalar için idealdir. Mesajların hızlı bir şekilde iletilmesini ve görüntülenmesini mümkün kılar.
✦ Canlı Puan Tabloları:
Oyun geliştiricileri, oyuncuların anlık puanlarını ve sıralamalarını takip etmelerini sağlamak için Firebase Realtime Database’i kullanabilirler. Bu sayede oyuncuların puanları anında güncellenir ve rekabeti teşvik eder.
✦ İşbirliği Uygulamaları:
Birden çok kullanıcının aynı belgeler üzerinde çalışmasını gerektiren işbirliği uygulamaları, Firebase Realtime Database’i kullanarak gerçek zamanlı veri senkronizasyonu sağlayabilirler. Örneğin, bir ekip belgesi veya proje yönetim uygulaması gibi.
✦ Anlık Bildirimler:
Firebase Cloud Messaging (FCM) ile entegre ederek, Firebase Realtime Database’deki değişikliklere dayalı olarak kullanıcılara anlık bildirimler gönderebilirsiniz. Bu, kullanıcılara güncellemeleri hızlı bir şekilde bildirmenizi sağlar.
✦ Gerçek Zamanlı Takip ve Konum Tabanlı Uygulamalar:
Konum tabanlı uygulamalar ve takip uygulamaları, kullanıcıların veya nesnelerin anlık konumlarını izlemek için Firebase Realtime Database’i kullanabilirler.
✦ Anlık Veri Güncellemeleri Gerektiren Her Tür Uygulama:
Firebase Realtime Database, genel olarak gerçek zamanlı veri güncellemelerine ihtiyaç duyan her tür uygulama için kullanışlıdır. Örneğin, anlık haber uygulamaları, online anketler veya anket uygulamaları, canlı etkinlik akışları gibi uygulamalar bu hizmetten faydalanabilirler.

🙪 Firebase Realtime Database Nasıl Kullanılır?
Firebase’i kullanmaya başlamadan önce belgeleri ve Firebase web sitesinin sağladığı kaynakları incelemeniz önemlidir. Her bir Firebase hizmeti farklı kullanım kılavuzlarına ve örnek kodlara sahip olabilir, bu nedenle projenizin ihtiyaçlarına uygun olarak belgeleri ve kaynakları inceleyerek başlamak önemlidir.
Android projenizi tasarladığınız Android Studio’da giriş yaptığınız e-posta ile **firebase.google.com** sitesinde giriş yaptığınız e-posta aynı olmalı. Diğer türlü bağlantı kurulamaz.

Firebase Realtime Database oluşturma 1
**firebase.google.com sitesine gidip **Go to console seçeneğine tıklayın.

Firebase Realtime Database oluşturma 2
Ardından açılan sayfada Create a project seçeneğine tıklayarak yeni proje oluşturabilirsiniz.

Firebase Realtime Database oluşturma 3
Karşınıza böyle bir sayfa gelecek. Bu sayfada firebase projenizin adını yazmanızı bekliyor. İsmini yazdıktan sonra ilerleyebilirsiniz.

Firebase Realtime Database oluşturma 4
İlerlediğinizde karşınıza böyle bir ekran gelecek. Burada projenize google analytics’i eklemek isteyip istemediğinizi seçmenizi sağlıyor. Şimdilik eklemeden anlatacağım.

Firebase Realtime Database oluşturma 5
Artık firebase projeniz hazır. Sırada Realtime Database’i oluşturmak kaldı.

Firebase Realtime Database oluşturma 6
Build kısmından Realtime Database bölümüne giderek Create Database seçeneğini seçerek başlayabiliriz.

Firebase Realtime Database oluşturma 7
Açılan pencerede bir şey değiştirmenize gerek yok dolayısıyla Next diyerek ilerleyebiliriz.

Firebase Realtime Database oluşturma 8
Next dedikten sonra karşımıza gelen sayfada varsayılan olarak Start in locked mode seçili olacak. Ancak biz Start in test mode seçeneğini seçip ardından Enable diyerek ilerleyeceğiz.

Firebase Realtime Database oluşturma 9
Gördüğünüz gibi oluşturmuş olduk. Eğer json dosyanız varsa sol üstte bulunan üç noktadan import edebilirsiniz veya yeni bir database oluşurabilirsniz.
🙪 Realtime Database ile İşlemler:
✦ Veri Silme:
Firebase Realtime Database’e veri eklemek için push() yöntemini kullanabilirsiniz. Bu, her yeni verinin otomatik olarak benzersiz bir kimlik (anahtar) almasını sağlar. Örneğin, yeni bir mesaj eklemek için:
val db = FirebaseDatabase.getInstance()
val refMesajlar = db.getReference("mesajlar")
val mesaj = refMesajlar.push()
mesaj.setValue("Bu bir mesajdır.")
✦ Veri Güncelleme:
Firebase Realtime Database’deki verileri güncellemek için ilgili referansa erişip setValue() veya updateChildren() yöntemlerini kullanabilirsiniz. Örneğin, kullanıcının adını güncellemek için:
val db = FirebaseDatabase.getInstance()
val refKisiler = db.getReference("kisiler")
val kisi_id = "kisi_id"
val kisi_ad = "Kisi Adi"
refKisiler.child(kisi_id).child("ad").setValue(kisi_ad)
✦ Veri Silme:
Firebase Realtime Database’den veri silmek için removeValue() yöntemini kullanabilirsiniz. Örneğin, belirli bir mesajı silmek için:
val db = FirebaseDatabase.getInstance()
val refMesajlar = db.getReference("mesajlar")
val mesaj_id = "mesaj_id"
refMesajlar.child(mesaj_id).removeValue()
🙪 Firebase Realtime Database’in Avantajları ve Dezavantajları:
Firebase’i kullanmak, geliştiricilere birçok avantaj sunar, ancak aynı zamanda bazı zorluklarla da karşılaşabilirsiniz.
✦ Avantajlar:
1. Gerçek Zamanlı Veri Senkronizasyonu: Firebase Realtime Database, gerçek zamanlı veri senkronizasyonunu sağlar. Bu, birden çok kullanıcının aynı anda veri üzerinde çalışabilmesini ve verilerin anında güncellenebilmesini mümkün kılar. Bu, canlı sohbet uygulamaları, canlı puan tabloları ve işbirliği uygulamaları gibi senkronize veri gereksinimleri olan projeler için idealdir.
2. Kolay Kullanım: Firebase Realtime Database, kullanımı kolaydır ve hızlı bir şekilde başlamak için geliştirici dostu bir API sunar. Veri eklemek, güncellemek veya silmek gibi temel işlemler oldukça basittir.
3. Otomatik Çevrimdışı Desteği: Firebase Realtime Database, çevrimdışı kullanımı destekler. Kullanıcılar çevrimdışıyken yapılan değişiklikler, tekrar çevrimiçi olduklarında senkronize edilir.
4. Firebase Ecosystem Entegrasyonu: Firebase Realtime Database, Firebase’in diğer araçları ve hizmetleriyle kolayca entegre edilebilir. Örneğin, Firebase Authentication, Firebase Cloud Messaging ve Firebase Analytics ile sorunsuz bir şekilde çalışabilir.
5. Güvenlik Kuralları: Firebase Realtime Database, güvenlik kuralları oluşturmanıza olanak tanır. Bu kurallar, verilere erişim ve işlem yapma izinlerini kontrol etmenizi sağlar.
✦ Dezavantajlar:
1. Kısıtlı Sorgulama Yetenekleri: Firebase Realtime Database, sorgulama yetenekleri açısından kısıtlıdır. Basit sorgulamaları destekler, ancak karmaşık sorguları işlemekte sınırlıdır. Büyük veri kümeleri üzerinde veri sorgulamak bazen zor olabilir.
2. Veri Yapısı ve İşleme Zorlukları: Veriler JSON tabanlı bir ağaç yapısı içinde saklandığı için, büyük ve karmaşık veri yapılarıyla çalışmak zaman zaman karmaşık hale gelebilir.
3. Fiyatlandırma: Firebase Realtime Database’in fiyatlandırması, veri okuma ve yazma işlemlerine dayalıdır ve büyük kullanım durumlarında maliyet artabilir. Büyük ölçekli projeler için maliyetler dikkate alınmalıdır.
Firebase Realtime Database, belirli kullanım senaryoları için oldukça etkili olabilir, ancak karmaşık sorgulama veya büyük veri işleme ihtiyaçları olan projeler için Firestore gibi diğer Firebase veritabanı hizmetleri daha uygun olabilir. Karar verirken projenizin ihtiyaçlarına ve bütçesine dikkat etmek önemlidir.
Peki nedir bu Firestore?
➥ Firebase Firestore Nedir?

Firestore, Google tarafından geliştirilen ve bulut tabanlı bir NoSQL veritabanı hizmetidir. Firestore, özellikle mobil ve web uygulama geliştiricileri için tasarlanmıştır ve gerçek zamanlı veri senkronizasyonunu destekler. Firestore, Firebase platformunun bir parçası olarak sunulur ve Firebase ile entegre edilmiştir. Firestore’un temel özellikleri:
- NoSQL Veritabanı: Firestore, NoSQL veritabanı olarak sınıflandırılır. Bu, verilerin tablo ve sütunlardan oluşan geleneksel SQL veritabanları yerine belgeler ve koleksiyonlar şeklinde yapılandırıldığı anlamına gelir. Bu yapı, veri modellemesini daha esnek hale getirir.
- Gerçek Zamanlı Veri Senkronizasyonu: Firestore, gerçek zamanlı veri senkronizasyonunu destekler. Bu, bir cihazın veriyi değiştirdiğinde diğer cihazlarda bu değişikliklerin anında görünmesini sağlar. Bu özellik, canlı sohbet uygulamaları, çok oyunculu oyunlar ve işbirliği araçları gibi gerçek zamanlı uygulamalar için idealdir.
- Dokümanlar ve Koleksiyonlar: Firestore’da veriler dokümanlar ve koleksiyonlar şeklinde düzenlenir. Bir doküman, bir JSON benzeri formatta verileri içerir ve bir koleksiyon içinde saklanır. Koleksiyonlar, ilgili dokümanları gruplandırmak için kullanılır.
- Çevrimdışı Desteği: Firestore, çevrimdışı çalışma modunu destekler. Bu, kullanıcıların internet bağlantısı olmadığında bile uygulamanın verilere erişebilmesini sağlar. Değişiklikler çevrimdışıyken yerel olarak saklanır ve internet bağlantısı yeniden sağlandığında senkronize edilir.
- Veri Filtreleme ve Sıralama: Firestore, verileri sorgulamak, filtrelemek ve sıralamak için güçlü sorgu seçenekleri sunar. Bu, veritabanında karmaşık veri sorguları oluşturmanızı sağlar.
- Kullanıcı Kimlik Doğrulama Entegrasyonu: Firestore, Firebase Authentication ile entegre edilebilir, böylece kullanıcıların kimlik doğrulama bilgilerini kullanarak verilere erişmeleri kontrol edilebilir.

🙪 Firestore Nerelerde Kullanılır?
Firestore, gerçek zamanlı veri senkronizasyonunu desteklemesi nedeniyle özellikle canlı sohbet uygulamaları, çok oyunculu oyunlar, işbirliği araçları ve diğer gerçek zamanlı uygulamalar için idealdir. Aynı zamanda dokümanlar ve koleksiyonlar şeklinde veri düzenleme ve güçlü sorgulama yetenekleri sunarak, veri modellemeyi daha esnek hale getirir. Firestore’un Firebase ile entegrasyonu, kullanıcı kimlik doğrulama, bildirimler ve diğer Firebase hizmetleri ile kolay bir şekilde birleştirilmesine olanak tanır, bu da geliştiricilere güçlü ve eksiksiz bir uygulama geliştirme ekosistemi sunar.
🙪 Firestore Nasıl Kullanılır?
✶ Firestore’u kullanmadan önce bir Firebase projesi oluşturmanız veya mevcut bir projeyi seçmeniz gerekecektir.
✶ Firestore’u etkinleştirmek için “Firestore” seçeneğini seçin ve Firestore’u başlatın.

Firebase Firestore oluşturma 1

Firebase Firestore oluşturma 2

Firebase Firestore oluşturma 3

Firebase Firestore oluşturma 4
Bu ekrana kadar geldiyseniz artık Firestore’u etkinleştirmiş bulunmaktasınız.
✶ Firestore’u web, Android veya iOS gibi farklı platformlarda kullanabilirsiniz. Her platform için Firebase SDK’sını entegre ederek Firestore ile etkileşimde bulunabilirsiniz.
✶ Firestore, gerçek zamanlı veri senkronizasyonunu destekler. Bu özelliği kullanarak verilerin anında güncellenmesini ve kullanıcılar arasında senkronize edilmesini sağlayabilirsiniz.

➥ Firebase Realtime Database ve Firebase Firestore Farkı
Firebase ve Firestore, Google’ın bulut tabanlı hizmetleri olup, mobil ve web uygulama geliştiricileri için veritabanı ve diğer geliştirme araçları sunar.

Firebase Realtime Database ve Firebase Firestore Karşılaştırılması
Firestore, Firebase ekosistemi içinde bulunur ve Firebase projelerine kolayca entegre edilebilir. Firestore, gelişmiş sorgu yetenekleri, esnek veri modellemesi ve daha iyi performans gibi avantajlar sunar, bu nedenle özellikle büyük ve karmaşık uygulamalar için tercih edilebilir. Firebase Realtime Database ise daha basit projeler için uygun olabilir.
Bu makalemde sizlere Firebase’in, Firebase Realtime Database ve Firebase Firestore’un ne olduğundan ve nasıl kullanıldıklarından bahsettim. Son olarak da ikisinin özelliklerini karşılaştırdığım bir tabloyu sizlerle paylaştım. Umarım yazdıklarım sizin için yararlı olmuştur. Herkese iyi çalışmalar diliyorum. Bir sonraki makalede görüşmek üzere 🙋🏻♀️

메타데이터
- post_id
- a3515bbbecd8
- slug
- firebase-ve-firestore-nedir-a3515bbbecd8
- url
- https://medium.com/@byesude/firebase-ve-firestore-nedir-a3515bbbecd8
- canonical_url
- https://medium.com/@byesude/firebase-ve-firestore-nedir-a3515bbbecd8
- author_url
- https://medium.com/@byesude
- status
- ok
- fetched_at
- 2026-07-25 06:49:06