Firestore nedir?
Firestore, aşağıdaki özelliklere sahip Belge/Koleksiyon tabanlı bir NoSQL bulut veritabanıdır:
- Yapılandırılmış ve esnek depolama
- Gerçek zamanlı Senkronizasyon yeteneği
- Firebase Güvenlik Kuralları ile üst düzey güvenlik
- Otomatik ölçeklenebilirlik
- Dünya genelinde çok düşük gecikme süresi
- Karmaşık sorguları yürütme yeteneği
- Küçük ve kurumsal projeler için uygundur
Firestore iki modda Yerel Mod (Firebase'e özgü) ve Veri Deposu Modu (GCP Enterprise hizmetleri için sağlanmıştır).
Firestore'daki Veri Yapısı
Firestore basit ama güçlü bir mimari kullanır:
Koleksiyon → Belgelerin bir koleksiyonu
Belge → JSON benzeri bir yapı
Alt koleksiyon → Her Belgenin İçindeki Koleksiyon
Alan → Her Belgenin Alanları
Örnek yapı:
users (collection)
└── userId123 (document)
├── name: "Ali"
├── age: 28
└── posts (subcollection)
└── postId981 (document)
├── title: "My First Post"
└── likes: 52
Firestore API'sini kullanan örnek kod örnekleri
1. JavaScript ile kullanın (Web Uygulaması / Node.js)
Kurulum
Firestore'a bağlanma
Belge Ekle
Okuma Belgesi
2. Firestore REST API
Bir Belge oluşturmak için bir POST isteği gönderin
Firestore ile oluşturulabilecek projeler
1. Sohbet ve mesajlaşma uygulamaları (Gerçek zamanlı Sohbet Uygulaması)
Anında senkronizasyon özelliği sayesinde Firestore sohbet kurmak için en iyi seçeneklerden biridir.
2. İçerik Yönetim Sistemleri (Blog, CMS)
Özellikle sunucularla uğraşmak istemeyen küçük ekipler veya startup'lar için.
3. Mobil Uygulamalar (iOS / Android / Flutter)
Dolayı:
Düşük Gecikme
Eşzamanlı Senkronizasyon
Dahili Çevrimdışı Modu
4. Gerçek Zamanlı Yönetim Panoları (Yönetici Panelleri)
Online mağaza panosu, kullanıcı istatistikleri, sipariş yönetimi gibi.
5. Küçük ve orta ölçekli çevrimiçi mağaza
Ürün, kategori, alışveriş sepeti, sipariş vb. ekleyin.
6. IoT uygulamaları
Sensör verilerinin hızlı depolanması.
Firestore kullanan başarılı proje örnekleri
Alibaba Cloud Mobil – Gerçek Zamanlı Veri Yönetimi için Firestore Kullanımı
New York Times Bulmacası – Çevrimiçi çok oyunculu oyun için kullanın
Todoist – Kullanıcı görevlerini birden fazla cihazda senkronize edin
Shazam – Bazı bulut verilerini yönetme
Sıcak yıldız – Kullanıcı verilerini ve profil ayarlarını kaydedin
(Birçok servis resmi olarak duyurmadan Firestore'u perde arkasında kullanıyor)
Firestore'un Faydaları
Otomatik ölçeklenebilirlik
Sunucuyu yönetmeye gerek yok.
Yüksek okuma hızı
Global Edge mimarisi göz önüne alındığında.
Güvenlik ile Firestore Güvenlik Kuralları
Sadece hesap sahibinin okuma/yazma iznine sahip olduğu örnek kural:
Mobil ve web'de.
Güçlü Sorgular
Filtreleme, sıralama, aralık sorgulama, indeksleme.
Zorluklar ve sınırlamalar (kullanmadan önce bilmeniz gerekenler)
❌ Katılım Yok (NoSQL)
❌ Karmaşık sorgular indeks gerektirir.
❌ Maliyet, Okuma/Yazma/Depolama sayısına göre hesaplanır
❌ Çok büyük veri kümeleri (TB ve üzeri) için uygun değildir
❌ İşlemler sınırlıdır.
Firestore ve Gerçek Zamanlı Veritabanı Karşılaştırması
| Özellik | Yangın deposu | Gerçek zamanlı veritabanı |
|---|---|---|
| Veri yapısı | Belge tabanlı | JSON Ağacı |
| Sorgu | Çok güçlü | Çok sınırlı |
| Ölçeklenebilirlik | Tepe | Orta |
| Fiyat | Sıradan | Daha ucuz |
| Kullanımları | Modern uygulamalar | Basit Sohbet, IoT |
Firestore, Realtime DB'nin daha yeni ve daha optimize edilmiş bir sürümüdür.
Profesyonel üretim için Firestore en iyi uygulamaları
1. Doğru veri yapısını seçin
Büyük belgeler oluşturmamanız önerilir.
2. Verileri segmentlere ayırmak için Alt Koleksiyonu kullanın
Örnek: gönderiler → yorumlar → beğeniler
3. Önbelleğe alınmış yoğun sorgular
Okuma maliyetini düşürmek için.
4. Arka uç işleme için Bulut İşlevlerini kullanın
Bildirim gönderme, indeks oluşturma, veri özetleme gibi.
5. Firestore'da Oturum Açma
İstenmeyen maliyetlerden kaçınmak için.
Firestore ile tam bir blog sistemi örneği
Önerilen yapı:
Gönderi ekleme örneği:
Çözüm
Firestore, hızlı, ölçeklenebilir ve sunucusuz hizmetler oluşturmak için uygun, güçlü ve gerçek zamanlı bir bulut veritabanıdır.
Bu hizmet şunlar için uygundur:
✅ Web sitesi
✅ Mobil uygulama
✅ İçerik yönetim sistemi
✅ Sohbet uygulamaları
✅ Gerçek zamanlı gösterge panelleri
✅ IoT projeleri
✅ Çevrimiçi mağazalar
Eğer bir ürün oluşturuyorsanız, Anında senkronizasyon, yüksek hız ve yönetilebilir maliyet Evet, Firestore en iyi seçeneklerden biridir.









