Merhaba arkadaşlar Msqsl veritabanına blob tipinde bir değişken tanımladım ve androidden imageleri bitmap olarak alarak veritabanına kaydedebiliyorum.Sorunum şu, veritanından birçok row çekmem gerekiyor ve o zaman bitmap datalar geldiği için veriler çok yavaş geliyorlar.Verilerin daha hızlı gelmesi için imageleri farklı bir şekilde kaydetmek ya da daha farklı bir fikri ve tavsiyesi olan arkadaşlar yardımcı olurlarsa severim..
Çekmen gereken rowlarda eğer resimlere ihtiyacın yoksa onları sorgunun dışında bırakabilirsin.Ama yok onlara da ihtiyacım var dersen bence en mantıklısı bir sunucu ya da hosting alıp resimleri orada bir klasör içinde tutup veritabanında sadece linkini saklayarak daha hızlı sorgular gerçekleştirebilirsin.
Performans ve verimlilik açısından veritabanının içerisine resim kaydetmek çok riskli ve tercih edilmeyen bir yol.
En iyisi resimleri yedek disk üzerinde bir kitaplığa kaydettirmen ve oradan çekerek ekranda göstermen.
Bu her profesyonelin tercih ettiği bir yoldur.
Şayet, resim çok değil ise veritabanına kaydettirebilirsiniz..
göreceli olarak buna katılmıyorum. bence tam aksine resimler file olarak saklanmamalı. Neden Database 1- Yedekleme kolaylığı. 2- Yatay ,dikey ölçekleyebilme. 3- Güvenlik ve yetkilendirme Veritabanlarının güvenlik ve yetkilendirme yetenekleri file dan çok çok fazla ve çeşitli. 4- File name çakıştı derdi yok
Sunu söyleyim ben resimleri söyle yapmayı tercih ediyorum. ayrı bir uygulama olarak sadece 2 işlevi var resim yüklemek ve istenilen size da (resize ve crop yaparak) kullanıcıya vermek. Orada da database de tutuyorum.
Çok sık bu tartışma insanların aklına geliyor file vs db hatta internette ararsanız bitmek bilmeyen bir sürü tartısma da mevcut. Şu an bulamadım lakin normalde kafa kafaya performansları. sonuçta db de file olarak tutuluyor.
Sunlardan emin olmak gerekli. 1- Indexler yapıldı mı? Index politikası doğru mu? 2- Donanima uygun Sql Lisans türü kullanıyor muyum (sanırım sql server da express 1 cpu kullanıyordu. hali ile o performansı ektiler) 3- Donanimlar ve yük denk mi? (coğu shared hostingde db fazla yük altında.) 4- Hangi sql? Yani simdi 50 gb datayı tutup sqlite ,access gibi filebased bir sql da sakladıksa belki bunu da sorgulamalıyız.
Bu arada illa SQl tarzı ilişkilsel veritabanı kullanmak zorunda da değiliz. Benchmark yapıp file vs SQL vs Nosql yapılabilir özellikle nosql da kolay yatak ölçekleyebilme önemli performans avantajı getirebilir.
Ki cok file varsa aslında CDN kullanmak lazım. cloudinary.com imgix.com
gibi servisler de kullanılabilir.
< Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 15 Mart 2017; 14:52:19 >
Şuanda mysql veritabanını bırakıp firebase üzerinden devam ediyorum. Geçeli 2 hafta kadar oldu ve gayet memnunum.Söylediğin gibi nosql ve depolama , auth.. gibi birçok kolaylıkta sağlıyor ve realtime.
Msqsl veritabanına blob tipinde bir değişken tanımladım ve androidden imageleri bitmap olarak alarak veritabanına kaydedebiliyorum.Sorunum şu, veritanından birçok row çekmem gerekiyor ve o zaman bitmap datalar geldiği için veriler çok yavaş geliyorlar.Verilerin daha hızlı gelmesi için imageleri farklı bir şekilde kaydetmek ya da daha farklı bir fikri ve tavsiyesi olan arkadaşlar yardımcı olurlarsa severim..
< Bu ileti mobil sürüm kullanılarak atıldı >