Resim Saklama [Beyin Fırtınası]
-
Selamlar,
Şimdi bir projemiz için yeniden hatta sıfırdan başlıyorum her şeye, daha önce yapan arkadaş çekildi aradan ve kodunu kullanmamamızı istiyor, gerçi db sini ben tasarlamıştım ama neyse..
Sorum şu, kullanıcılar mobil uygulamalarla resim yükleyecekler. Ben bu resimlerin kalitesini ve boyutunu düşürerek atıyorum 200-300 kb lik dosyalar haline getirerek sunucu tarafında saklamak istiyorum. Bu resimleri de web üzerinden bazı kullanıcılara göstermek istiyorum.
Proje tutarsa resim sayısı fazlalaşacak haliyle.. O yüzden şimdiden efektif bir çözüm bulayım derdindeyim.
Eski arkadaş base64 e çevirip o şekilde db ye kaydediyor. Ancak bu yöntem db yi çok şişirecektir diye düşünüyorum.. Bir de blob data şeklinde saklamak var tabi. Ve son olarak direk dosya şeklinde sunucuda barındırma. Tabi geri dönüşte sanal bir path üzerinden ya da byte array e çevirip kullanıcıya vereceğim..
Veritabanı olarak mysql ya da mssql kullanmayı düşünüyorum. Şuan amazon aws den alınmış bir windows server 2012 im var. WCF servisini oraya yazacağım, nosql i henüz düşünmüyorum ama o da olabilir bilemiyorum henüz.. Ama join ler çok olacağı için rdbms daha mantıklı geliyor.
Ben webci değilim o yüzden böyle projeler pek yapmıyorum.. Biraz araştırayım dedim her kafadan bir ses çıkmış :) Ama gördüğüm kadarıyla genel kanı; sql server ın diskte yer kaplamaktan daha pahalı olduğu.
Bir de şöyle bir şey aklıma geldi, api ile dropbox tarzı yerlere de resimleri gönderebilirim ama pek hoş olmaz en azından profesyonel olmaz.
Bu konu hakkında özellikle dene yapmış, daha önce araştırma yapmış arkadaşlar fikirlerini sunarsa sevinirim. Yoksa ben de biliyorum şunu yap bunu yap demeyi :) Yani yapılacak şeyin en mantıklı iş olmasını gözönüne alıyorum.
-
şimdi alternatifleri değerlendirmek lazım hocam
sql kısmında byte array - base64 vs şeklinde blob data olarak sakladın ihtiyaçların neler
mysql mssql vs seçim yaptığın db için ekstra yük demek sql e eklediğin görsel sayısı ve trafik arttığı zaman sql şişecek ve sıkıntıya düşmene neden olacak.
2. alternatif görseli sunucuya yüklemek;
Bu noktada ihtiyacın ne olacak dosya alanı ve trafik ihtiyacın olacak.
Ben sql e resim saklama olayını sadece çok görsel olmayan bi kaç projemde kullandım.Bu işlemin geri dönüş hızı sunucu donanımı ile değişiklik göstermekte.Senin projeni ben yapıo olsam direk sunucuda barındırıp o şekilde kullanırım hatta geleceğe yönelik şişmeleri ve kullanıcı memnuniyetini artırmak istiyosan cdn hosting kullanarak daha saglıklı hizmet sunarsın
-
şimdilik hostin v.s. çok önemli değil hocam, sadece yapıyı düzgün kurma derdindeyim ...
db nin şişeceğini biliyorum aslında, ve resimlerin de bir süre db de tutulacağı gerçeği var.. bana mantıklı gelen de harici olarak tutmak ama belki bilmediğim daha farklı sonuçlar alabileceğim yöntemler olabilir diye düşündüm.. Dediğim gibi webci değilim o yüzden çok da alernatifleri bilmiyorum.. Sadece mantıklı düşününce bi kaç sonuç çıkıyor.
Facebook, instagram gibi uygulamalar milyonlarca resim saklıyorlar, biraz bunları araştırmak lazım aslında.. bunların nosql kullandığını biliyorum ama resimleri nasıl saklıyorlar ona bakmadım
-
cdn image hosting anahtar kelimen hocam
ayrıca tavsiyem db de tutmaman ilk etapta en ucuz yoldan vps alıp sub domaine yönlendirip sistemi bu şekilde kurman ilerleyen dönemlerde makinayı yükseltmen değiştirmen cdn geçişin daha kolay olur db de saklayıp sonradan geçiş yapman demek sana ekstra işçilik ekstra zaman ve projede revizasyon yapman demek
trooper tarafından 21/Ağu/15 00:23 tarihinde düzenlenmiştir -
trooper bunu yazdı
cdn image hosting anahtar kelimen hocam
hocam bu da sonuçta dropbox gibi bir dosya servisi, belki biraz daha özelleşmiş ama ben hepsini bi arada tutmaktan yanayım.. İşler biraz devlet işine kayıyor, yani belki bizim sunucumuzda bile verilerin tutulmamasını isteyecekler. O yüzden harici bir servis kullanmayı şimdilik düşünmüyorum.
Ama amazon un bu tarz bir cloud hizmeti var, acaba aws ile entegreli çalışıyorsa o tarz bir şeyler olabilir bakmak lazım
-
trooper bunu yazdı
cdn image hosting anahtar kelimen hocam
+1
bir de nosql falan hiç düşünme
daha önce denedin mi bilmiyorum da gerçek verinin 7-8 katı yer kaplıo db'de
iğrenç
-
-
Daft bunu yazdıtrooper bunu yazdı
cdn image hosting anahtar kelimen hocam
+1
bir de nosql falan hiç düşünme
daha önce denedin mi bilmiyorum da gerçek verinin 7-8 katı yer kaplıo db'de
iğrenç
hocam ben ileri seviye veritabanı sistemleri dersi aldım :) tüm popüler nosql çözümlerince projeler geliştirdik ve ben çok sevdim ama kendi projelerimde kullanmıyorum... Yoksa doğru bir optimizasyonla güzel sonuçlar elde edersin. 7-8 kat veri kaplama olayını hiç duymadım :) sonuçta metin tabanlı bir imkan var, o kadar olmaması lazım..
-
nurulmac11 bunu yazdı
konuyu açmadan önce küçük bir araştırma yaptım hocam, buraya da baktım zaten .. pek tatmin etmediği için konu açayım dedim
-
unbalanced bunu yazdıtrooper bunu yazdı
cdn image hosting anahtar kelimen hocam
hocam bu da sonuçta dropbox gibi bir dosya servisi, belki biraz daha özelleşmiş ama ben hepsini bi arada tutmaktan yanayım.. İşler biraz devlet işine kayıyor, yani belki bizim sunucumuzda bile verilerin tutulmamasını isteyecekler. O yüzden harici bir servis kullanmayı şimdilik düşünmüyorum.
Ama amazon un bu tarz bir cloud hizmeti var, acaba aws ile entegreli çalışıyorsa o tarz bir şeyler olabilir bakmak lazım
hocam şimdi projenin teknik alt yapısını bilmeden afaki konuşuyorum ama devlet işi diyosunda belediyelerde var olan bilgi işlemciler network kurmaktan aciz ama başka kurumlarsa potansiyel kitlen o zaman değişir ama tavsiyem sub domain üzerinden vps barındırarak başlamak daha mantıklı geliyor
-
unbalanced bunu yazdıDaft bunu yazdıtrooper bunu yazdı
cdn image hosting anahtar kelimen hocam
+1
bir de nosql falan hiç düşünme
daha önce denedin mi bilmiyorum da gerçek verinin 7-8 katı yer kaplıo db'de
iğrenç
hocam ben ileri seviye veritabanı sistemleri dersi aldım :) tüm popüler nosql çözümlerince projeler geliştirdik ve ben çok sevdim ama kendi projelerimde kullanmıyorum... Yoksa doğru bir optimizasyonla güzel sonuçlar elde edersin. 7-8 kat veri kaplama olayını hiç duymadım :) sonuçta metin tabanlı bir imkan var, o kadar olmaması lazım..
ben ders mers almadım
gözlemlediğim şeyi söylüyorum
json datayı, nosql veritabanına yükledim (bak bu da text)
20 mb data db'de 160 mb tuttu
üstelik db'den veri silsen dahi "reclaim free space" diye bi olay yok
kendin compact ediyorsun
tabi bu da ilerde performans sorunlarına yol açabilir diye düşünüyorum?
hazır bi çözümle ilerlemeye izin var mı?