Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Nerede ne tutulur

Çift kayıt yok, çift soru var

Aynı kavram bazen iki yerde görünür. Bu hata değil: biri kart, biri hareket veya anlık kopyadır.

Hızlı tablo

KavramAsıl kayıtHareket / belgeKopya / indeks
KullanıcıMySQL UserMongo userLogsSiparişte UserCopy
AlıcıMySQL BuyerCRM ve grup değerlendirmeSiparişte BuyerCopy
ÜrünMySQL ProductSipariş kalemi, MeiliSearch
Depo stok miktarıMySQL WarehouseProduct.stockMongo giriş/çıkışSipariş kalemindeki referanslar
Cari bakiyeMySQL FinancialAccount.balanceMongo accountTransactions
SepetMySQL ProductBasketSipariş oluşunca silinir
SiparişMongo buyerOrdersBigQuery orders
Ödeme işlemiMongo paymentsSiparişte purchase.payment ref
FaturaMySQL sıra numarasıMongo invoicesSiparişte invoice özeti
AramaMeiliSearch product
Push jetonuMySQL UserDeviceUserCopy.devices

Neden sipariş MySQL’de değil?

Bir sipariş kalem, teslimat, ödeme kırılımı, geçmiş, fatura özeti ve transfer bağlantısını tek belge olarak taşır. İlişkisel tablolara bölmek N+1 ve şema evrimi maliyeti doğurur. Bu yüzden yaşam döngüsü Mongo’dadır.

Neden bakiye MySQL’de?

Bakiye sık okunur, tek sayıdır, kullanıcı+depo ile tektir. Defter ise append-only belgedir. Okuma bakiyeden, tartışma defterden yapılır. Defterdeki balance alanı o hareketten sonraki bakiyenin anlık görüntüsüdür.

Gömülü kopya ne demek?

Sipariş yazılırken alıcı adı, depo adı, ürün birimi belgenin içine kopyalanır. Ertesi gün ürün adı değişse eski sipariş eski adla kalır. Güncel kart her zaman Prisma’dadır.

MeiliSearch

İndeks ürün araması içindir; sipariş araması değildir. Saatlik tam yenileme üretimde Prisma’dan okuyup indeksi baştan kurar. Anlık güncelleme product.upsert / product.deleted olaylarıyladır.