Firebase Firestore ve Realtime Database Karşılaştırması
Firebase Firestore ve Realtime Database: Detaylı Karşılaştırma ve Kod Örnekleri
Google Firebase, modern web ve mobil uygulamalar için güçlü bir backend hizmeti sunar. Bu hizmetin en çok kullanılan iki veritabanı çözümü Cloud Firestore ve Realtime Database’dir. Her ikisi de NoSQL tabanlıdır ancak veri modeli, sorgulama yetenekleri, ölçeklenebilirlik ve kullanım senaryoları açısından farklılık gösterir.
Firestore Nedir?
Cloud Firestore, doküman ve koleksiyon yapısı sayesinde verileri hiyerarşik olarak düzenler. Büyük ölçekli uygulamalarda karmaşık veri ilişkilerini yönetmek için idealdir.
Realtime Database Nedir?
Realtime Database, tek bir JSON ağacı üzerinde çalışır ve verileri anlık olarak senkronize eder. Basit yapısı sayesinde küçük ölçekli projeler için uygundur.
Firestore CRUD Kod Örnekleri
Veri Ekleme (Create)
// Firestore veri ekleme
import { getFirestore, doc, setDoc } from "firebase/firestore";
const db = getFirestore();
await setDoc(doc(db, "users", "user1"), {
name: "Ahmet",
age: 25,
city: "İstanbul"
});
Veri Okuma (Read)
import { getDoc, doc } from "firebase/firestore";
const docRef = doc(db, "users", "user1");
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
console.log("Veri:", docSnap.data());
} else {
console.log("Veri bulunamadı!");
}
Veri Güncelleme (Update)
import { updateDoc, doc } from "firebase/firestore";
const userRef = doc(db, "users", "user1");
await updateDoc(userRef, {
age: 26
});
Veri Silme (Delete)
import { deleteDoc, doc } from "firebase/firestore";
await deleteDoc(doc(db, "users", "user1"));
Realtime Database CRUD Kod Örnekleri
Veri Ekleme (Create)
// Realtime Database veri ekleme
import { getDatabase, ref, set } from "firebase/database";
const db = getDatabase();
set(ref(db, "users/user1"), {
name: "Mehmet",
age: 30,
city: "Ankara"
});
Veri Okuma (Read)
import { getDatabase, ref, get, child } from "firebase/database";
const dbRef = ref(getDatabase());
get(child(dbRef, "users/user1")).then((snapshot) => {
if (snapshot.exists()) {
console.log(snapshot.val());
} else {
console.log("Veri bulunamadı!");
}
});
Veri Güncelleme (Update)
import { getDatabase, ref, update } from "firebase/database";
const db = getDatabase();
update(ref(db, "users/user1"), {
age: 31
});
Veri Silme (Delete)
import { getDatabase, ref, remove } from "firebase/database";
const db = getDatabase();
remove(ref(db, "users/user1"));
Sonuç
Firestore ve Realtime Database, farklı ihtiyaçlara yönelik güçlü çözümler sunar. Eğer karmaşık veri yapıları ve gelişmiş sorgulama gerekiyorsa Firestore tercih edilmelidir. Ancak basit ve hızlı senkronizasyon gereken projelerde Realtime Database daha uygun olacaktır.

Yorumlar
Yorum Gönder