Yazılımda Dosya Yükleme ve Belge Saklama Nasıl Kurulur
Yazılıma yüklenen dosyaların doğru yeri, veritabanı değil ayrı bir dosya deposudur; veritabanında yalnızca dosyanın adı, türü, boyutu ve hangi kayda ait olduğu tutulur. Bu ayrım yapılmadığında veritabanı birkaç ay içinde şişer, yedek alma süresi uzar ve geri dönüş planı işlemez hâle gelir.
Aşağıda saklama seçeneklerinin karşılaştırması, yüklemede yapılması gereken doğrulamalar, dosya adı ve klasör düzeni, erişim yetkisi ve silme politikası sırayla ele alınıyor.
Dosyalar nerede saklanır?
Üç yaygın seçenek vardır ve seçim, dosya sayısına ve sunucu sayısına göre yapılır.
| Yöntem | Uygun olduğu durum | Dikkat edilecek nokta |
|---|---|---|
| Veritabanı içinde | Çok az sayıda ve küçük dosya, örneğin imza görseli | Yedek boyutunu hızla büyütür, geri dönüş süresini uzatır |
| Sunucu diskinde klasör | Tek sunucuda çalışan, dosya hacmi sınırlı sistemler | İkinci sunucu eklendiğinde dosyalar paylaşılmaz, yedeği ayrı planlanır |
| Nesne deposu | Hacmin büyüdüğü ve birden çok sunucunun çalıştığı sistemler | Erişim anahtarlarının yönetimi ve adreslerin süreli üretilmesi gerekir |
Hangi yöntemi seçerseniz seçin, uygulama kodu dosyaya doğrudan yoldan değil, tek bir dosya katmanı üzerinden erişmelidir. Böylece yarın depo değiştiğinde yüzlerce yerde yol düzeltmek gerekmez; tek katman değişir.
Yüklemede ne doğrulanır?
Yükleme ekranı, yazılımın dışarıdan en kolay veri aldığı noktadır; doğrulama burada yapılmazsa sorun sonradan temizlenmez.
- Dosya türü: yalnızca uzantıya bakmak yeterli değildir, dosyanın gerçek içerik türü de kontrol edilmeli. İzin verilen türler listesi açık biçimde tanımlanır.
- Boyut: hem tek dosya hem de toplam yükleme için üst sınır konur. Sınır aşıldığında anlaşılır bir uyarı verilir.
- İçerik: çalıştırılabilir dosyalar ve betik içerebilen biçimler kabul edilmez. Kabul edilen dosyalar hiçbir zaman sunucuda çalıştırılabilir bir dizine konmaz.
- Sayı: bir kayda eklenebilecek dosya adedi sınırlanır, aksi hâlde tek kayıt depoyu doldurabilir.
- Görsel boyutları: fotoğraflar yüklenirken küçültülmüş bir kopya üretilir; liste ekranlarında asıl dosya değil o kopya gösterilir.
Yükleme yarıda kesilirse ne olacağı da karara bağlanmalıdır. Yarım kalan dosyalar bir işaretle ayrılmalı ve düzenli çalışan bir temizlik göreviyle silinmelidir; yoksa depoda kime ait olduğu belli olmayan parçalar birikir.
Dosya adı ve klasör düzeni
Kullanıcının yüklediği dosya adı asla olduğu gibi diske yazılmaz. Türkçe karakter, boşluk ve noktalama farklı sistemlerde farklı davranır; aynı adla ikinci bir dosya yüklendiğinde birincisi ezilir.
Doğru düzen şudur: diske benzersiz ve tahmin edilemez bir ad yazılır, kullanıcının verdiği özgün ad ise veritabanında saklanır ve indirirken ona gösterilir. Böylece hem çakışma olmaz hem de kullanıcı dosyasını tanıdığı adla indirir.
Klasör düzeninde tek bir dizine milyonlarca dosya koymaktan kaçının. Yıl ve ay ya da kayıt kimliğinin ilk haneleri üzerinden alt klasörlere bölmek, hem listeleme hem de yedekleme tarafında işi kolaylaştırır.
Dosyanın hangi kayda ait olduğu da yalnızca klasör adından değil, veritabanındaki ilişkiden okunmalıdır. Klasör yapısı bir gün değişebilir; ilişki tablosu değişmediği sürece hiçbir dosya sahipsiz kalmaz. Aynı tabloda dosyayı kimin ve ne zaman yüklediğini tutmak da sonradan çıkan soruların çoğunu tek sorguyla cevaplar.
Kim hangi dosyayı görebilir?
En sık yapılan hata, dosyaları herkese açık bir adresten sunmaktır. Adres tahmin edilemez olsa bile, bir kez paylaşıldığında kalıcı olarak açıktır; sözleşme ve kimlik belgesi gibi içerikler için bu kabul edilemez.
Dosya indirme isteği de en az kayıt görüntüleme kadar yetki kontrolünden geçmelidir: kullanıcı bu dosyanın bağlı olduğu kaydı görebiliyor mu? Göremiyorsa dosyayı da indirememelidir. Nesne deposu kullanılıyorsa adresler süreli üretilmeli, süresi dolduğunda geçersiz olmalıdır.
Dışa aktarma ve toplu indirme işlemlerinin iz kaydına yazılması da önerilir; veri dışarı çıkarken bırakılan iz, sonradan en çok sorulan kayıttır.
Sürüm, silme ve yedek
Aynı belgenin yeni hâli yüklendiğinde eskisi silinecek mi, yoksa sürüm olarak saklanacak mı? Sözleşme ve teknik çizim gibi belgelerde sürüm saklamak neredeyse zorunludur; geçici fotoğraflarda gereksizdir. Kararı belge türüne göre verin ve yazılı hâle getirin.
Silme tarafında iki seçenek vardır: kaydı silinmiş olarak işaretleyip dosyayı belirli bir süre tutmak ya da hemen silmek. Birincisi yanlışlıkla silmeye karşı korur, ikincisi depoyu temiz tutar. Yaygın çözüm, önce işaretlemek ve süre dolduğunda temizlik göreviyle fiziksel olarak silmektir.
Son olarak yedek: veritabanı yedeği alınıyor diye dosya deposunun yedeklendiğini varsaymayın. İkisi ayrı sistemlerdir ve ayrı planlanır. Geri dönüş tatbikatında yalnızca veritabanını değil, dosyaların da geldiğini doğrulayın. Planın bütünü için yedekleme ve felaket kurtarma planı yazısına bakın.
Kısa kontrol listesi
- Dosyalar veritabanı dışında, tek bir dosya katmanı üzerinden saklanıyor mu?
- İzin verilen tür ve boyut sınırları yazılı mı, içerik türü gerçekten kontrol ediliyor mu?
- Diske yazılan ad benzersiz mi, özgün ad veritabanında tutuluyor mu?
- İndirme isteği yetki kontrolünden geçiyor mu?
- Yarım kalan ve silinmiş dosyalar düzenli temizleniyor mu?
- Dosya deposunun yedeği ayrı planlandı ve geri dönüşü denendi mi?
KAV Yazılım, özel yazılım projelerinde belge saklamayı bu altı başlık üzerinden kurar; depo seçimi, yetki kuralı ve yedek planı teslim belgesinde birlikte yazılır.
Sık sorulan sorular
Dosyaları veritabanında saklamak neden önerilmiyor?
Yüklenen dosyanın türü nasıl doğru kontrol edilir?
Kullanıcının yüklediği dosya adı neden değiştiriliyor?
Dosya deposu veritabanı yedeğine dâhil midir?
- belgeleme
- dosya yükleme
- veri güvenliği
- yedekleme
