Ana içeriğe geç

Supabase

Okunuşu
supabeys
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/supabase

Kısaca

Supabase, veritabanı, kimlik doğrulama, depolama, gerçek zamanlı güncelleme ve anında API sunan, PostgreSQL tabanlı açık kaynaklı bir backend platformudur.

Supabase nedir?

Supabase 2020'de kuruldu. Her proje, özel bir veri modeli yerine tabloları, SQL'i, join'leri, eklentileri ve transaction'larıyla gerçek bir PostgreSQL veritabanıdır. Supabase bunun üzerine bir uygulamanın ihtiyaç duyduğu servisleri ekler: giriş için Auth, dosyalar için Storage, veritabanı değişikliklerini dinlemek için Realtime ve sunucu tarafı kod için Edge Functions.

Veritabanı şemadan otomatik olarak üretilen API'ler üzerinden sunulur; böylece bir ön yüz tabloları Supabase istemci kütüphanesiyle doğrudan sorgulayabilir: supabase.from("posts").select("*"). Erişim, PostgreSQL'in satır düzeyinde güvenliği (row level security, RLS) ile denetlenir: giriş yapmış her kullanıcının hangi satırları okuyup değiştirebileceğine karar veren, SQL ile yazılmış politikalar.

Standart Postgres olduğu için veri dışa aktarılabilir, herhangi bir SQL aracıyla sorgulanabilir, Prisma ya da Drizzle gibi bir ORM'e bağlanabilir ve yapay zekâ embedding'leri için pgvector gibi eklentilerle genişletilebilir. Bileşenler açık kaynak olduğu için Supabase barındırılan bir servis olarak da, kendi sunucunuzda da kullanılabilir.

Sık yapılan bir yanlış, otomatik üretilen API'nin varsayılan olarak güvenli olduğunu düşünmektir. Bir tabloda satır düzeyinde güvenlik açılıp yapılandırılmamışsa, herkese açık anahtara sahip herkes onu okuyabilir ya da değiştirebilir. İstemcilere açılan her tabloda RLS'yi açmak ve politikaları test etmek şarttır.

Önemli noktalar

  • Supabase, PostgreSQL üzerine kurulu açık kaynaklı bir backend platformudur.
  • Kimlik doğrulama, depolama, gerçek zamanlı güncellemeler ve edge fonksiyonları ekler.
  • API'ler veritabanı şemasından otomatik olarak üretilir.
  • SQL ile yazılan satır düzeyinde güvenlik politikaları her satıra erişimi denetler.
  • Standart Postgres'tir; bu yüzden veri ve araçlar taşınabilir kalır.

Örnek

Supabase istemcisi ve bir RLS politikasıyla veri sorgulamakjavascript
import { createClient } from "@supabase/supabase-js";

const supabase = createClient("https://xyz.supabase.co", "public-anon-key");

// Each signed-in user only sees their own notes, thanks to the policy below
const { data, error } = await supabase
  .from("notes")
  .select("id, title, created_at")
  .order("created_at", { ascending: false });

/* In SQL:
alter table notes enable row level security;
create policy "own notes" on notes
  for select using (auth.uid() = user_id);
*/

Sık sorulan sorular

Supabase ile Firebase arasındaki fark nedir?

Supabase, SQL kullanan ilişkisel bir PostgreSQL veritabanı üzerine kuruludur ve açık kaynaktır. Firebase ise Google'ın NoSQL doküman veritabanlarını kullanır ve kapalı kaynaktır. İkisi de uygulamalar için kimlik doğrulama, depolama ve gerçek zamanlı özellikler sağlar.

Supabase yalnızca PostgreSQL mi?

Özünde evet: her proje tam bir Postgres veritabanıdır. Supabase bunun etrafına kimlik doğrulama, depolama, gerçek zamanlı abonelikler, üretilmiş API'ler ve bir yönetim paneli gibi yönetilen servisler ekler.

Satır düzeyinde güvenlik (row level security) nedir?

Politikaları her sorguya uygulayan bir PostgreSQL özelliğidir; böylece bir kullanıcı yalnızca politikanın izin verdiği satırları okuyabilir ya da değiştirebilir. Supabase, istemcilerden doğrudan veritabanı erişimini güvenli kılmak için buna dayanır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar