PostgreSQL

PostgreSQL ile veri modeli tasarımı

Release Coach AI, Inspire Film ve Reveal Software'de veri katmanı PostgreSQL üzerinde duruyor. Supabase kullandığımız ürünlerde de altta yine PostgreSQL var.

Veri modeli, bir üründe değiştirilmesi en pahalı karardır. Arayüzü bir haftada yeniden yazarsınız, yanlış kurulmuş bir şemayı taşımak aylar sürer. Bu yüzden bu kararı hiçbir zaman otomatik üretime bırakmıyoruz.

01

Şemayı neden insan tasarlıyor

Yapay zeka çalışan bir şema üretebiliyor, ancak ürünün iki yıl sonra nereye gideceğini bilmiyor. Kiracı ayrımı, yumuşak silme, para birimi alanları ve zaman damgalarının hangi saat diliminde tutulacağı gibi kararlar sonradan düzeltilmesi en zor kararlar. Bu tabloları mühendis tasarlıyor, üretilen göç dosyaları da birleştirilmeden önce satır satır okunuyor.

02

Çok kiracılı yapıda izolasyon

Reveal Software'de her müşterinin verisi aynı veritabanında ama birbirinden ayrı durmak zorunda. İzolasyonu uygulama kodundaki bir filtreye bırakmak, unutulan tek bir sorguda veri sızması demek. İzolasyonu veritabanı seviyesinde kurmak, sonradan yazılan her sorguyu otomatik olarak güvenli hale getiriyor. Bu, üretilen kodun risk yüzeyini de küçültüyor.

03

İndeks düşünmeyi ORM devralmıyor

Drizzle ya da benzeri bir katman kullanmak sorgu yazmayı kolaylaştırıyor ama hangi sütunun indeksleneceğini düşünmeyi ortadan kaldırmıyor. Kayıt sayısı arttığında yavaşlayan ekranların çoğu eksik indeksten kaynaklanıyor. Sık çalışan sorguları önceden çıkarıp indeksleri buna göre tanımlıyoruz, yavaşlık kullanıcı şikayetiyle keşfedilmesin diye.

04

Yedekleme ve geri dönüş provası

Yedek almak yeterli değil, geri yüklemeyi denemeden yedeğiniz olduğunu bilemezsiniz. Devir teslimde geri dönüş adımlarını yazılı bırakıyoruz. Göç dosyalarının geri alınabilir olması da aynı ölçüde önemli, çünkü hatalı bir göç üretimde en hızlı zarar veren şeylerden biri.

Kanıt

Tam olarak bununla yayına aldığımız ürünler.

Sorular

Başlamadan önce en çok sorulanlar.

PostgreSQL mi yoksa doküman veritabanı mı?

Verinizde ilişkiler varsa ve raporlama gerekiyorsa PostgreSQL öneriyoruz. İlişkisel yapı sonradan eklenmesi zor bir şey, kaldırması ise kolay. Şemasız başlayan projelerin çoğu bir yıl içinde ilişki ihtiyacı duyuyor.

Mevcut veritabanımızı inceleyip iyileştirir misiniz?

Evet. Şema, indeksler, yavaş sorgular ve erişim yetkileri üzerinden bir inceleme yapıp yazılı öneri çıkarıyoruz. Bu genelde aylık 800 dolardan başlayan sürekli destek kapsamında yürüyor.

Veri göçlerini nasıl yönetiyorsunuz?

Göçler sürüm kontrolünde tutuluyor ve üretime çıkmadan önce bir kopya üzerinde çalıştırılıyor. Geri alma adımı olmayan göçü birleştirmiyoruz.

Verimiz bizde mi kalıyor?

Evet. Altyapı sizin hesabınızda kuruluyor ve sahiplik sizde. Devir sonrası bağımlılık yaratacak bir yapı kurmuyoruz.

İletişim

Uzun vadeli bir mühendislik ortağı mı arıyorsunuz?

Ürünü, zaman çizelgesini ve kimin için olduğunu anlatan kısa bir not başlamak için yeterli. Size bir satış ekibi değil, işi yapacak mühendis dönecek.

Ankara / Türkiye · Avrupa ve ABD saat dilimlerinde çalışıyoruz