Blob Alan Sorunu

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Blob Alan Sorunu

Mesaj gönderen CiTiZEN »

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.
UWESIS CORPORATION
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Blob Alan Sorunu

Mesaj gönderen aslangeri »

s.a.
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
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Blob Alan Sorunu

Mesaj gönderen emin_as »

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.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Blob Alan Sorunu

Mesaj gönderen CiTiZEN »

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
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Blob Alan Sorunu

Mesaj gönderen emin_as »

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.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Blob Alan Sorunu

Mesaj gönderen CiTiZEN »

@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
UWESIS CORPORATION
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Blob Alan Sorunu

Mesaj gönderen orhancc »

Blob alan hakkında ayrıntılı bilgi bir incele

http://www.ibphoenix.com/main.nfs?page=ibp_blobs
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Blob Alan Sorunu

Mesaj gönderen CiTiZEN »

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
Kullanıcı avatarı
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

Mesaj gönderen sabanakman »

SQL Server için

Kod: Tümünü seç

DBCC SHRINKDATABASE (DBADI)
gibi 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 :) .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Blob Alan Sorunu

Mesaj gönderen CiTiZEN »

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
Cevapla