RESTful API oluşturuyorum. Veritabanı tablolarımı kaynaklarım etrafında tasarlamanın en iyi yoluna karar vermek için uğraşıyorum.
Başlangıçta, kaynak başına bir tablo gitmek için iyi bir yol olsa da, ama şimdi bunun gittiğiniz kaynak zincirinde aşağı katlanarak daha büyük tablolarla sonuçlanmasından endişe ediyorum.
Örneğin, üç kaynağım olduğunu düşünün - kullanıcılar, müşteriler, satışlar. Kullanıcılar API'ma abone, müşteriler kullanıcı müşterileridir ve satışlar her müşteri tarafından kullanıcı hesabına yapılan satın alımlardır.
Bir satış kaynağına aşağıdaki gibi erişilir
GET /users/{userID}/clients/{clientID}/sales/{salesID}
Bu nedenle, her biri 10 müşterisi olan 10 kullanıcı varsa ve her müşteri için 10 satış varsa, tablo boyutu gittikçe kaynak zincirinden daha da büyür.
SQL'in büyük tablolarla başa çıkabileceğinden oldukça eminim, ancak okuma ve yazma işlemlerinin nasıl yavaşlayacağından emin değilim. Yukarıdaki örnek belki bunu göstermez, ancak API'm gittikçe daha fazla yazacak ve gittiğimiz kaynak zincirini daha aşağıya okuyacaktır. Bu nedenle, veritabanımdaki en büyük tabloların daha küçük tablolardan daha fazla okunup yazılacağı senaryoya sahibim.
Sorguları çalıştırmadan önce tablolara katılmak da gerekecektir. Bunun nedeni, her kullanıcının aynı ada sahip bir istemciye sahip olmasına izin vermemdir. Yanlış istemci verilerinin alınmasını önlemek için, kullanıcı tablosu ve istemci tabloları {userID} ile birleştirilir. Bu satış için de geçerlidir. Büyük tablolara katılmak ve okuma ve yazma işleri yavaşlatıyor mu?