---
title: Event Store Design
category: product
entity_type: skill
price: ₺369
canonical: https://forgehouse.ai/tr/skiller/event-store-design/
lang: tr
hreflang_alt: https://forgehouse.ai/skills/event-store-design/
last_updated: 2026-06-20
---

# Event Store Design

> Design and implement event stores for event-sourced systems.

Durumu değiştirilebilir CRUD satırları yerine değiştirilemez yalnızca-ekleme günlüğü olarak tutan olay-kaynaklı sistemler için olay deposu tasarlama ve uygulama kılavuzu. EventStoreDB, PostgreSQL, Kafka ve DynamoDB'yi karşılaştırır, ardından çalışan şemalar ve uygulamalar sunar; böylece doğru altyapıyı seçip doğru biçimde devreye alırsınız.

## Ne için kullanılır
- Yalnızca-ekleme olaylar, anlık görüntüler ve kontrol noktaları içeren PostgreSQL olay deposu kurma
- Yığınınız için EventStoreDB, PostgreSQL, Kafka ve DynamoDB arasında seçim yapma
- Eşzamanlı yazma bozulmasını önlemek için iyimser eşzamanlılık denetimi uygulama
- Uzun akışların her seferinde sıfırdan yeniden oynatılmaması için anlık görüntü ekleme
- Son işlenen genel konumdan devam eden abonelikler kurma
- Yeniden denemede yinelenen olayları güvenle yok sayan idempotent yazma sağlama

## Faydalar
- Olayları değiştirilemez gerçekler olarak ele alarak tam denetim izi ve doğal geri al/yinele elde edin
- Sürüm tabanlı iyimser eşzamanlılıkla eşzamanlı yük altında veri bozulmasını önleyin
- Akışlar büyüdükçe baştan değil anlık görüntüden yeniden oynatarak okuma performansını yüksek tutun
- Her teknolojinin gerçek kısıtlarını bilerek doğru olay deposunu seçin

## Ne içerir
- events, snapshots ve subscription_checkpoints tabloları ile indekslerini içeren PostgreSQL şeması
- append_events, read_stream, read_all ve subscribe içeren asenkron Python EventStore sınıfı
- Kategori projeksiyonları ($ce-) dahil EventStoreDB istemci kullanımı
- Akış sıralaması için partition/sort anahtar tasarımlı DynamoDB tek-tablo olay deposu
- İyimser eşzamanlılık, genel konum sıralaması ve akış bölümleme kalıpları
- Anlık görüntü stratejisi rehberi ve yapılması/yapılmaması listesi (olayları asla güncelleme veya silme)

## Kimler için
Tutarlılık veya denetlenebilirlikten ödün vermeden ölçeklenen bir olay deposuna ihtiyaç duyan, CQRS veya olay-kaynaklı sistem kuran arka uç mimarları ve yazılımcıları.

## Nasıl çalışır
Skill, event-sourced bir sistemin append-only omurgasını uçtan uca tasarlar. Kurulum sırası tam olarak şu:
1. Depolama teknolojisini gerçek bir karşılaştırma matrisine göre seçer: saf event sourcing için EventStoreDB, stack zaten Postgres ise PostgreSQL, ham throughput için Kafka, serverless için DynamoDB. Her seçeneğin bilinen kısıtı yazılı olarak kayda geçer.
2. Şemayı döşer: stream_id, event_type, JSONB payload, stream başına version ve global_position BIGSERIAL kolonlu events tablosu; UNIQUE(stream_id, version) kısıtıyla kilitlenir. Event üzerinde UPDATE ve DELETE yasak, sadece INSERT.
3. Append'i optimistic concurrency ile uygular: her yazma expected_version taşır, uyuşmazlık transaction içinde ConcurrencyError fırlatır ve client taze state ile yeniden dener. Tekrarlanan yazmalar benzersiz event ID ile etkisizleştirilir (idempotent write).
4. İki okuma yolu sunar: tek aggregate'i yeniden kurmak için read_stream (stream_id artı from_version), stream'ler arası tüketiciler için global_position üzerinden read_all.
5. Subscription'ları checkpoint üzerinde çalıştırır: her tüketici son işlediği global_position'ı saklar; yeniden başlayan projection dünyayı baştan oynatmak yerine kaldığı yerden devam eder.
6. Uzun stream'ler için snapshot stratejisi ekler: her N event'te (yaklaşık 100) aggregate state'i kaydet, önce snapshot'ı yükle, sadece kuyruğu replay et. Stream ID'ler AggregateType-uuid kuralını izler, böylece kategori seviyesi okuma mümkün kalır.

## Sık sorulanlar
### Bunu düz PostgreSQL üzerinde çalıştırabilir miyim, yoksa özel bir olay veritabanı mı gerekir?
Düz PostgreSQL çalışır ve onun için anlık görüntüler ile kontrol noktaları içeren somut bir ekle-yalnız şema alırsınız. EventStoreDB, Kafka ve DynamoDB karşılaştırılır, böylece özel bir depoyu yalnızca ölçeğiniz gerektiriyorsa seçersiniz.

### Olay kaynaklama, normal CRUD'a kıyasla aşırıya kaçmıyor mu?
Pek çok uygulama için öyledir ve rehber bunu her yere dayatmak yerine dürüstçe söyler. Değişmez bir kaydın gerçekten ne zaman işe yaradığını, örneğin denetim ağırlıklı veya eşzamanlılığa duyarlı alanlarda, değerlendirmenize yardımcı olur.

### Tam CQRS okuma tarafını ve izdüşümleri kapsar mı?
Olay deposunun kendisine, yani yazma kaydına, eşzamanlılık denetimine ve anlık görüntülere odaklanır. Üzerine okuma modelleri ve izdüşümler kurmak, sizi hazırladığı ama tam olarak uygulamadığı komşu bir konudur.

## Fiyat
₺369, tek seferlik, abonelik yok. KDV dahil.

İlgili rehber: [Yapay zekâ ile kod inceleme](https://forgehouse.ai/tr/rehberler/yapay-zeka-kod-inceleme/)
