Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
3 yazı bulundu #postgresql
Tek Veritabanında CQRS: Write Tarafında Aggregate, Read Tarafında Projection
Yazılım Mimarisi SERİ 02

Tek Veritabanında CQRS: Write Tarafında Aggregate, Read Tarafında Projection

Tek veritabanında CQRS, yazma tarafında aggregate'i EF Core'un change tracker'ıyla kaydedip okuma tarafında aynı tablolardan aggregate'e hiç dokunmadan projection yapmaktır. PlaceOrder ve CancelOrder command'larının ne döndürmesi gerektiği, ayrı ve düz bir read DbContext, SQL view üstünde Dapper ve query'nin state değiştirmediğini PostgreSQL'e read-only transaction ile söyletmek, gerçek SQL ve 25006 hatasıyla.

7 Kas 2026 14 dk 4
Ayrı Read Model: Materialized View, Senkronizasyon ve Eventual Consistency ile Yaşamak
Yazılım Mimarisi SERİ 03

Ayrı Read Model: Materialized View, Senkronizasyon ve Eventual Consistency ile Yaşamak

Ayrı read model, ekranın satırını domain event'lerinden önceden hesaplayıp saklamaktır; aynı transaction'da güncellenirse tutarlılık anlık kalır, ayrı bir veritabanında asenkron güncellenirse eventual consistency ile yaşamak gerekir. Inline projection, PostgreSQL materialized view, checkpoint'li asenkron projector, read-your-own-writes için position ile bekleme, idempotent update ve sıfırdan rebuild, gerçek çıktılarla.

7 Kas 2026 14 dk 4
Event Store ile Çalışmak: Marten ve PostgreSQL'de Append, Optimistic Concurrency ve Stream'ler
Yazılım Mimarisi SERİ 06

Event Store ile Çalışmak: Marten ve PostgreSQL'de Append, Optimistic Concurrency ve Stream'ler

Event store'un temel sözleşmesi, bir stream'e yalnızca beklenen version'dayken event eklemektir; Marten bunu PostgreSQL'de (stream_id, version) unique index'i ve FetchForWriting ile sağlar. Marten 9 kurulumu, StartStream/Append, decider'ı FetchForWriting'e bağlamak, iki yazarın yarışı, stream id stratejileri, KurrentDB ve kendi tablonu yazmanın bedeli ve Türkçe culture'da bozulan event adları.

7 Kas 2026 16 dk 4
Blog Haritası