← Tilbage til databaser

Firebase

NoSQL

Google's mobile og web applikationsplatform med real-time NoSQL cloud database.

Beskrivelse

Firebase er en omfattende Backend-as-a-Service (BaaS) platform fra Google der inkluderer Firestore (document database), Realtime Database (JSON tree), Authentication, Storage, Hosting, Cloud Functions og meget mere. Firebase's styrke ligger i real-time data synkronisering - når data ændres opdateres alle connected clients automatisk. Dette gør den ideel til chat apps, collaborative tools og live dashboards. Firestore er den nyere database der organiserer data i collections af documents, mens Realtime Database gemmer alt som ét stort JSON tree. Firebase håndterer al backend infrastruktur, skalering, og security, så udviklere kan fokusere på frontend. Med offline support synkroniserer data automatisk når forbindelsen genoprettes. Firebase's friktionsløse integration med Android, iOS og web gør den populær til mobile-first startups og MVPs.

Features

  • Real-time data synchronization
  • Offline support med automatic sync
  • Built-in authentication
  • Serverless cloud functions
  • File storage med CDN
  • Automatic scaling
  • Security rules for access control
  • Deep integration med Google Cloud

Query Eksempel

// JavaScript SDK (Firestore)
import { 
  collection, 
  addDoc, 
  query, 
  where, 
  getDocs,
  onSnapshot 
} from 'firebase/firestore';

// Tilføj document
const usersRef = collection(db, 'users');
await addDoc(usersRef, {
  name: 'Maria Nielsen',
  email: 'maria@email.dk',
  age: 28,
  city: 'København'
});

// Query data
const q = query(
  usersRef, 
  where('city', '==', 'København'),
  where('age', '>=', 25)
);
const snapshot = await getDocs(q);
snapshot.forEach(doc => {
  console.log(doc.id, doc.data());
});

// Real-time listener
const unsubscribe = onSnapshot(q, (snapshot) => {
  snapshot.forEach(doc => {
    console.log('Real-time update:', doc.data());
  });
});

// Security Rules
// rules_version = '2';
// service cloud.firestore {
//   match /databases/{database}/documents {
//     match /users/{userId} {
//       allow read: if request.auth != null;
//       allow write: if request.auth.uid == userId;
//     }
//   }
// }

Anvendelsesområder

  • Mobile apps med real-time sync
  • Chat og messaging applikationer
  • Collaborative editing tools
  • Social media feeds
  • Gaming leaderboards og matchmaking

Fordele

  • Nul backend setup (managed service)
  • Real-time updates out of the box
  • Excellent mobile SDKs
  • Hurtig til at bygge MVPs
  • Free tier til små projekter

Ulemper

  • Vendor lock-in (Google)
  • Begrænset query capabilities
  • Kan blive dyrt ved stor skala
  • Mindre fleksibel end custom backend
  • Security rules kan være komplekse

Bedst til

  • Mobile og web prototypes
  • Real-time collaborative apps
  • Startups der vil move fast
  • Apps med begrænset backend kompleksitet
  • Small til medium sized apps

Ikke anbefalet til

  • Komplekse backend business logic
  • Applikationer med komplekse queries
  • Large-scale enterprise systems
  • Når vendor lock-in er concern
  • Budget-sensitive high-traffic apps

Relaterede databaser

SupabaseAWS AmplifyParseBack4App