2014-06-19 13 views
5

Şu anda kullanıcıların (pasaport yoluyla) giriş yapmalarına ve arkadaşlarıyla ilgili bilgileri görmelerine izin veren küçük bir ekspres uygulama üzerinde çalışıyorum, örneğin satın alma geçmişi, beğeniler vb. İdeal olarak, her kullanıcının bir profil fotoğrafı olmasını ve öğelerin Ürünle ilgili ürün fotoğraflarına sahip olmaları için satın alma geçmişleri. Ben bu ile gitmek için profil fotoğrafı isterseniz bir basitleştirilmiş kullanıcı modeliCouchbase'i uygulama sunucusu olarak kullanırken mi hizmet veriyorsunuz?

{ 
    "name": "Homer Simpson", 
    "purchases": "Duff" 
} 

aşağıda gösterilmiştir, couchbase bunu yapmak için basit bir yol var, ya da ben S3 gibi bir şey saklamak gerekir, ardından

var
{ 
    "name": "Homer Simpson", 
    "profile_pic" : "http://s3.something.com/profilepics/homer.jpg", 
    "purchases": "Duff" 
} 

cevap

8

Neden bunları veritabanında saklayamadığım konusunda iki argüman verebilirim (Couchbase veya başka türlü).

1) Her bir aleti en iyi durumda olduğu şekilde kullanın. Couchbase, RAM'daki yönetilen önbellekten sağladığınız örnek belgeyi sunabilir. Alt milisaniye yanıt süresi alacaksınız. S3, görüntüler gibi statik içerik sunmak için mükemmeldir. Couchbase bu görüntüyü RAM'den de çok hızlı sunabilir mi? Elbette, ama bunu yapmak için daha fazla kaynak kullanacaksın ve bu da beni # 2 argümana götürecek. 2) Görüntüyü bir DB, Couchbase'de veya başka bir yolla depolayarak, statik ve seyrek olarak değişen bir şey için en pahalı ve performans kaynaklarınızı kullanıyor olmanız gerekir. Sadece S3'e kıyasla bir EC2 örneğindeki depolama maliyetini düşünün. Bunu bir veritabanında depolarsanız, önemli verilerinizi yanınızda saklamanız, çoğaltmanız, yedeklemeniz, vb. S3, son derece makul bir fiyata yüksek dayanıklılığa sahip olmak için mükemmeldir. Veritabanındaki görüntüler harika bir fikir gibi geliyor, ancak zamanla boynunuza zincir oluyorlar. Şu anda bir kullanıcı hesabı geçerlilik politikasıyla başlamadığınız sürece, bundan 2 yıl sonra ve 1,5 yıl önce hizmetinizi kullanmayı bırakan ve her KB için birden çok kez ödeme yapan bir kullanıcıdan görüntüleri saklayabilir, yedekleyebilir ve çoğaltabilirsiniz. Yine, bu Couchbase için hiçbir şekilde özel değildir.

S3'teki görüntünün işaretçisine sahip olan belgeye git benim düşüncem. Her iki dünyanın en iyisini alacaksın. Fazladan fazla iş için performans ve maliyet etkinliği.

İlgili konular