Blob Alan Sorunu
Blob Alan Sorunu
Selamlar arkadaşlar, bir yazılımızda oluşturulan veritabanında filo araçlarına ait kaza reismlerinin tutulduğu bir Blob alan mevcut fakat bu alanla alakalı büyük 2 tane problemimiz var bunlar:
1- Bu Blob alana geçenlerde kaza yapan bir aracın 4.73 Mb lik dijital fotograf makinesinden çekilmiş fotografını eklemişler (ben kilobyte lık dosyalarda denedim sadece 97 değilde 8-10 Mb civarında büyüme oluyor yani sonuç aynı) veritabanı boyutu 784 kb den 97 mb ye yükselmiş blob alanı ben oluşturmadım elimde olan bilgilerini paylaşıyım:
Field based on: Standart Type
Field Type: Blob
Sub_Type: 1
Segment Size: 1 (sub_type ve segment size bu şekilde ayarlanmış?? nedenini çözemedim.)
blob alandan hariç araç no vs. yi master detail kontrol eden 3 integer, açıklama ve uyarıların yer aldığı 2 de varchar alan mevcut.
Dosya EMS Sql manager 2005 ile oluşturuldu.
Fb versiyon 2.1
2-Blob alandan o resmi "dataset.delete" komutu ile silip transaction u commitretaining yapmamıza ragmen veritabanı boyutu 97 mb da kaldı blob alanı silmenin başka bir yolu mu var?
Arkadaşlar acelem; her geçen gün araçlara ait yeni fotograflar yüklenmekte db iyice şişmeden bu işi halletmem gerekli hele ağda oldukca yavaş 10-15 sn beklemek zorunda kalıyorum.
Kolay Gelsin.
1- Bu Blob alana geçenlerde kaza yapan bir aracın 4.73 Mb lik dijital fotograf makinesinden çekilmiş fotografını eklemişler (ben kilobyte lık dosyalarda denedim sadece 97 değilde 8-10 Mb civarında büyüme oluyor yani sonuç aynı) veritabanı boyutu 784 kb den 97 mb ye yükselmiş blob alanı ben oluşturmadım elimde olan bilgilerini paylaşıyım:
Field based on: Standart Type
Field Type: Blob
Sub_Type: 1
Segment Size: 1 (sub_type ve segment size bu şekilde ayarlanmış?? nedenini çözemedim.)
blob alandan hariç araç no vs. yi master detail kontrol eden 3 integer, açıklama ve uyarıların yer aldığı 2 de varchar alan mevcut.
Dosya EMS Sql manager 2005 ile oluşturuldu.
Fb versiyon 2.1
2-Blob alandan o resmi "dataset.delete" komutu ile silip transaction u commitretaining yapmamıza ragmen veritabanı boyutu 97 mb da kaldı blob alanı silmenin başka bir yolu mu var?
Arkadaşlar acelem; her geçen gün araçlara ait yeni fotograflar yüklenmekte db iyice şişmeden bu işi halletmem gerekli hele ağda oldukca yavaş 10-15 sn beklemek zorunda kalıyorum.
Kolay Gelsin.
UWESIS CORPORATION
Re: Blob Alan Sorunu
s.a.
kayıtları sildiğiniz zaman o kayıtların kapladığı alan geri verilmez.
backup restore yapmanız lazım.
kolay gelsin.
kayıtları sildiğiniz zaman o kayıtların kapladığı alan geri verilmez.
backup restore yapmanız lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Blob Alan Sorunu
Firebirdde veritabanı boyutu hiçbir zaman azalmaz. Silsen bile o bölümleri sonra kullanmak için işaretler. Sadece backup/restore yaparsan veritabanı normal seviyesine döner. Veritabanı dosyasının büyük olmasının hiçbir sakıncası yoktur.
Resim alanı jpeg olarak mı tutuluyor, yoksa bitmap mi?
Eger 4.37 MB lık jpeg i bitmap e çevirirsen, dosya boyu o şekilde artar.
Ayrıca resmin çözünürlüğü de önemlidir. Gerek duyulmadıkça resimleri büyük kaydetmemek gerekir.
Dosya boyutu çok artmasın istiyorsan yapabilecegin şeyler:
- Resimler için jpeg kullan, dbimage gibi bileşenler sadece bitmaple çalışabilirler. Jvcl deki bileşenler jpeg olarak çalışabiliyor
- Kullanıcılar için sorun olmazsa resimleri 800x600 gibi bir çözünürlüğe düşürebilirsin.
- Resimleri jpege çevrirken compress oranını düşürüp, dosya boyutundan kazanabilirsin.
Resim alanı jpeg olarak mı tutuluyor, yoksa bitmap mi?
Eger 4.37 MB lık jpeg i bitmap e çevirirsen, dosya boyu o şekilde artar.
Ayrıca resmin çözünürlüğü de önemlidir. Gerek duyulmadıkça resimleri büyük kaydetmemek gerekir.
Dosya boyutu çok artmasın istiyorsan yapabilecegin şeyler:
- Resimler için jpeg kullan, dbimage gibi bileşenler sadece bitmaple çalışabilirler. Jvcl deki bileşenler jpeg olarak çalışabiliyor
- Kullanıcılar için sorun olmazsa resimleri 800x600 gibi bir çözünürlüğe düşürebilirsin.
- Resimleri jpege çevrirken compress oranını düşürüp, dosya boyutundan kazanabilirsin.
Re: Blob Alan Sorunu
Sayın @Aslangeri ve @Emin_As, bilgiler için teşekkürler. DBImage kullandığım için bmp ye dönüştürüyordum. Ağda 4 makinede kullanılan bu yazılımda localde 10-15 sn beklemesi hemde veritabanında 1 fotograf varken normal mi? jpg kullanıp boyutuda düşürürsem veritabanı boyutundan dolayı sorunu düzeltmekten ziyade bu bekleme olayınıda aşmış olurmuyum?
UWESIS CORPORATION
Re: Blob Alan Sorunu
Bekleme olması normal, jpeg ile bitmap arasında büyüklük olarak çok fark vardır.
Sadece jpeg çevirmeyip, çözünürlüğü de makul seviyeye düşürürsen, performansın artıgını görürsün. Eğer çözünürlük düşmeyecekse, yüksek çözünürlük zorunluysa, thumbnail oluşturup, normalde bunları gösterebilirsin. Kullanıcı gerekli oldugunda bir pencere yardımıyla orjinal resmi görebilir. Böylelikle veritabanında dolaşırken thumbnailler gösterileceginden performans artar.
Ayrıca resimlerle çalışırken, resimlerin oldugu tablo sorgularında " select * " kullanma, yoksa sorgu sonucu resim bilgileri de gelecegi için networke ve firebird sunucusuna çok iş düşür.
Sadece jpeg çevirmeyip, çözünürlüğü de makul seviyeye düşürürsen, performansın artıgını görürsün. Eğer çözünürlük düşmeyecekse, yüksek çözünürlük zorunluysa, thumbnail oluşturup, normalde bunları gösterebilirsin. Kullanıcı gerekli oldugunda bir pencere yardımıyla orjinal resmi görebilir. Böylelikle veritabanında dolaşırken thumbnailler gösterileceginden performans artar.
Ayrıca resimlerle çalışırken, resimlerin oldugu tablo sorgularında " select * " kullanma, yoksa sorgu sonucu resim bilgileri de gelecegi için networke ve firebird sunucusuna çok iş düşür.
Re: Blob Alan Sorunu
@Emin_AS hocam çok teşekkür ediyorum, JvDBImage bileşeni oldukca kullanışlı hatta beklediklerimin de üzerinde bmp, jpg, ve gif denedim şu an sorunsuz, thumbnail oluşturma yerine fotografları 800x600 px e küçültmeyi tercih edeceğim sanırım, plakalar belli olduktan sonra pekte sorun çıkacağını zannetmiyorum.
Tablo sorgusuna gelince "Select *" değilde "Select Alan1,Alan2,Alan3" gibi sorgulatıyorum.
Kolay Gelsin
Tablo sorgusuna gelince "Select *" değilde "Select Alan1,Alan2,Alan3" gibi sorgulatıyorum.
Kolay Gelsin
UWESIS CORPORATION
Re: Blob Alan Sorunu
canım kardeşim, emin ol ben o sitenin tasarlandığını bilirim..(win 3.1 den beri bilgisayarların içindeyim, sadece firebird e yeni geçtim!!!) Mesaj sayın elbette yükselir bence insanlara yardımcı olmayı dene!!!!.....
UWESIS CORPORATION
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Blob Alan Sorunu
SQL Server içingibi bir kodla bu temizlik yapılabiliyor ama SHRINK komutunun firebird karşılığı var mıdır araştırmak lazım. Sanırım ilk tavsiyede geçen backup-restore yöntemi bu konudaki en genel çözüm oluyor
.
Kod: Tümünü seç
DBCC SHRINKDATABASE (DBADI)

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Blob Alan Sorunu
sayın @Sabanakman; öncelikle teşekkürler, aslında sürekli backup restore yapma yanlısı değilim.Sayın @Emin_as'ında belirttiği gibi sanırım vt boyutu sorun çıkartmıyor bu yüzden verileri kayıt sırasında küçülterek kayıt ediyorum (özellikle blob alanda; resimlerde) şu an sorun yok gibi olursa bi backup-restore yaparım.
UWESIS CORPORATION