Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MS SQL Server'a görsel yükleme
#11
MSSQL kullanıyorsunuz ve DB'de tutmak istiyorsanız bence dökümanları tek başına ayrı bir DB'de tutun. Diğer verilerin yedeklenmesini engellemesin.
Cevapla
#12
(24-10-2018, Saat: 02:15)mustafaozpinar Adlı Kullanıcıdan Alıntı: MSSQL kullanıyorsunuz ve DB'de tutmak istiyorsanız bence dökümanları tek başına ayrı bir DB'de tutun. Diğer verilerin yedeklenmesini engellemesin.

Bu doğru bir yaklaşım. Ama MS-SQL Server'da sadece bir FileGroup'u yedek alabiliyorsunuz. Binary data (Blob, image, varbinary) dosyaları içeren tabloları ayrı bir filegroup'ta konumlandırırsak benzer bir çözüm elde etmiş oluruz.

Veritabanı file group yapısı ve büyük tablolarımızı başka bir file group’ta yeniden oluşturmak

SQL Server Filegroups ile preformans ve yedekleme avantajı
WWW
Cevapla
#13
(24-10-2018, Saat: 09:29)csunguray Adlı Kullanıcıdan Alıntı:
(24-10-2018, Saat: 02:15)mustafaozpinar Adlı Kullanıcıdan Alıntı: MSSQL kullanıyorsunuz ve DB'de tutmak istiyorsanız bence dökümanları tek başına ayrı bir DB'de tutun. Diğer verilerin yedeklenmesini engellemesin.

Bu doğru bir yaklaşım. Ama MS-SQL Server'da sadece bir FileGroup'u yedek alabiliyorsunuz. Binary data (Blob, image, varbinary) dosyaları içeren tabloları ayrı bir filegroup'ta konumlandırırsak benzer bir çözüm elde etmiş oluruz.

Veritabanı file group yapısı ve büyük tablolarımızı başka bir file group’ta yeniden oluşturmak

SQL Server Filegroups ile preformans ve yedekleme avantajı

Çok teşekkür ediyorum ilgi ve alakanıza  , bir soru daha sormak istiyorum konu ile ilgili izin verirseniz. Bu yapıda arşivlenen dosyaların aranması bulunması gibi işlemler için 
AdoQuery veya AdoTable Kullanarak grid üzerinden bir listeleme yapmayı düşünüyorum. Kayıt işlemlerini ben store procedure ile yapıyorum daha hızlı olduğunu düşünüyorum "TAdoQuery veya TAdoTable " a göre bu konuda sizinde fikrinizi almak istiyorum.  Listeleme işlemini de Store Procedure ile yapmak performans olarak daha mı iyidir elimde çok fazla veri olmadığı için deneme şansım olmadı daha önce bu konuda tecrübesi olan arkadaşlardan da fikir alabilirsem çok sevinirim.  Listeleme de önereceğiniz başka bir şey varsa onada yok demem Smile

İlgili ve alaka gösteren, vakit ayırıp cevap yazan herkese çok teşekkür ediyorum. Çok sağolun.
Cevapla
#14
(24-10-2018, Saat: 12:27)Bay_Y Adlı Kullanıcıdan Alıntı: Çok teşekkür ediyorum ilgi ve alakanıza  , bir soru daha sormak istiyorum konu ile ilgili izin verirseniz. Bu yapıda arşivlenen dosyaların aranması bulunması gibi işlemler için 
AdoQuery veya AdoTable Kullanarak grid üzerinden bir listeleme yapmayı düşünüyorum. Kayıt işlemlerini ben store procedure ile yapıyorum daha hızlı olduğunu düşünüyorum "TAdoQuery veya TAdoTable " a göre bu konuda sizinde fikrinizi almak istiyorum.  Listeleme işlemini de Store Procedure ile yapmak performans olarak daha mı iyidir elimde çok fazla veri olmadığı için deneme şansım olmadı daha önce bu konuda tecrübesi olan arkadaşlardan da fikir alabilirsem çok sevinirim.  Listeleme de önereceğiniz başka bir şey varsa onada yok demem Smile

İlgili ve alaka gösteren, vakit ayırıp cevap yazan herkese çok teşekkür ediyorum. Çok sağolun.

Stored procedure'e ne yazıyorsunuz? Kayıt işlemini stored procedure ile yapmak ne demek? Bu şekilde yapmak bizi nasıl hızlandıracak?

Eğer kayıtları bir grid üzerinde listeleyecekseniz select * kullanmak yerine MUTLAKA sütun seçmeli ve ICERIK (varbinary olan sütun) sütununu hariç bırakmalısınız. Çünkü o kadar bilginin serverdan gelmesi çok uzun süre alacaktır ve programram kilitlenmiş hissi verecektir.

Arşivlenen dosyaların aranması bulunması konusunda MD5 kodlamasından yardım alabilirsiniz.


uses
 frxMD5;

function TForm1.MD5Stream(AStream: TStream): AnsiString;
begin
 Result := UpperCase(frxMD5.MD5Stream(AStream));
end;

function TForm1.MD5String(AString: String): AnsiString;
begin
 Result := UpperCase(frxMD5.MD5String(AString));
end;

procedure TForm1.BelgeKontrol(DataSet: TDataSet);
const
  MaksimumDosyaBoyutum = 1024 * 1024 * 5; // 5 MB
var
  Stream1: TADOBlobStream;
  Q1: TADOQuery;
begin
 inherited;
 Stream1 := TADOBlobStream.Create(Dataset.FieldByName('ICERIK') as TBlobField, bmRead);
 try
   if Stream1.Size > MaksimumDosyaBoyutum then raise Exception.Create(IntToStr((MaksimumDosyaBoyutum div 1024) div 1024) + ' MB''tan büyük dosya yükleyemezsiniz!');
   Dataset.FieldByName('ICERIK_MD5').AsString := MD5Stream(Stream1);
   Q1 := TADOQuery.Create(Self);
   try
     Q1.Connection := XXXXXX
     Q1.SQL.Text := 'select * from TBL_BELGE where ICERIK_MD5 = ' + QuotedStr(Dataset.FieldByName('ICERIK_MD5').AsString);
     Q1.Open;
     if Q1.RecordCount > 0 then
       then raise Exception.Create('Aynı içeriğe sahip başka bir dosya önceden yüklenmiş!');
     Q1.Close;
   finally
     Q1.Free;
   end;
 finally
   Stream1.Free;
 end;
end;

Ben FastReport dosyaları içerisinde bulunan MD5 modülünü kullanıyorum. Bir dosyanın veya bir stringin MD5 kodunu veren başka kütüphaneler de kullanabilirsiniz.
WWW
Cevapla
#15
Bu değerli bilgiler için çok teşekkür ediyorum. Uyarılarınızı dikkate alarak uygulamayı geliştirmeye çalışacağım.
Cevapla
#16
Stored procedure'ler işlemler hızlandırmaz. Hele tek bir döküman eklerken hiç fark etmez. Ancak eğer topluca bir DB'ye ekleme yapacaksanız, her türlü süre optimizasyonunu kullanmalısınız. Hatta o durumda, aktarım programını ADO ile değil FireDac ya da UniDAC benzeri DB erişim paketleriyle ve bunların Batch desteğini (yanlış hatırlamıyorsam bunların batch işlemleri vardı) kullanarak yapın. Aksi halde aktarım çok uzun sürer. Ayrıca C.Sunguray'ın select * from xxx konusundaki önerisini de ciddiye alın.

C.Sunguray'a : Sayın C.Sunguray, MD5 şifreleme yöntemi değil miydi? Ben mi yanlış hatırlıyorum acaba? Yoksa bahsettiğiniz aynı isimde farklı bir şey mi acaba?
Cevapla
#17
(24-10-2018, Saat: 14:43)mustafaozpinar Adlı Kullanıcıdan Alıntı: Stored procedure'ler işlemler hızlandırmaz. Hele tek bir döküman eklerken hiç fark etmez. Ancak eğer topluca bir DB'ye ekleme yapacaksanız, her türlü süre optimizasyonunu kullanmalısınız. Hatta o durumda, aktarım programını ADO ile değil FireDac ya da UniDAC benzeri DB erişim paketleriyle ve bunların Batch desteğini (yanlış hatırlamıyorsam bunların batch işlemleri vardı) kullanarak yapın. Aksi halde aktarım çok uzun sürer. Ayrıca C.Sunguray'ın select * from xxx konusundaki önerisini de ciddiye alın.

C.Sunguray'a : Sayın C.Sunguray, MD5 şifreleme yöntemi değil miydi? Ben mi yanlış hatırlıyorum acaba? Yoksa bahsettiğiniz aynı isimde farklı bir şey mi acaba?


MD5'e özellikle şifreleme demekten kaçındım. Daha çok özet çıkarma fonksiyonu deniliyor. Siz sorunca Wikipedi'ye baktım. Orada kriptografik özet fonksiyonu olarak bahsedilmiş.
WWW
Cevapla
#18
(24-10-2018, Saat: 14:43)mustafaozpinar Adlı Kullanıcıdan Alıntı: Stored procedure'ler işlemler hızlandırmaz. Hele tek bir döküman eklerken hiç fark etmez. Ancak eğer topluca bir DB'ye ekleme yapacaksanız, her türlü süre optimizasyonunu kullanmalısınız. Hatta o durumda, aktarım programını ADO ile değil FireDac ya da UniDAC benzeri DB erişim paketleriyle ve bunların Batch desteğini (yanlış hatırlamıyorsam bunların batch işlemleri vardı) kullanarak yapın. Aksi halde aktarım çok uzun sürer. Ayrıca C.Sunguray'ın select * from xxx konusundaki önerisini de ciddiye alın.

C.Sunguray'a : Sayın C.Sunguray, MD5 şifreleme yöntemi değil miydi? Ben mi yanlış hatırlıyorum acaba? Yoksa bahsettiğiniz aynı isimde farklı bir şey mi acaba?

Teşekkürler.
Cevapla
#19
Yapabiliyorsan imageları ayrı bir storage'da tutmanı öneririm.
Anladığım kadarıyla dikey mimari kullanıyorsun 3 gün sonra disk performans vs.. sorunları yaşayabilirsin.
Tabi data sayısı düşükse bunlara gerek yok.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#20
Teşekkür ederim değerli fikirleriniz için.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Uzak Sunucuya (Server) Lokalden Veri Tabanı Oluşturma Hk. glagher 7 270 Dün, Saat: 12:32
Son Yorum: glagher
  MS SQL Server - Arama Yaklaşık Değerleri Bulma hi_selamlar 5 536 17-01-2024, Saat: 22:53
Son Yorum: Mr.X
  Sql Server Otomatik Kurulum narkotik 11 7.864 21-12-2023, Saat: 14:25
Son Yorum: Bay_Y
  MS SQL server tarih formatı değiştirme MEK 15 5.658 13-09-2022, Saat: 23:19
Son Yorum: MEK
  SQl Server Guruplama ve Toplama Bay_Y 6 3.749 25-02-2021, Saat: 10:39
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi