Bir veritabanı dosyaları depolamak artıları ve eksileri nelerdir?

4 Cevap php

Ben bir php uygulama yazıyorum ve bu veritabanında tam dosyaları saklamak için kötü bir fikir olmadığını merak ediyordum. Dosyalar yaklaşık 100-200kb çoğunlukla metin dosyaları (yani txt, doc, docx ve) veya küçük görüntü dosyaları olmalıdır. Ya da bir düz yanlış fikir sadece bir?

4 Cevap

Pro: derece taşınabilir.

Con: Eğer SQL (indeksleme, arama, vb) kullanarak ona bir şey yapamaz ve (içerik türü, dosya adı, vb) geliştirmek için (yeniden) kullanılabilirlik ve bakımı diğer sütunlarda meta veri eklemek gerekir.

Ben bunu yapmazdım. Disk dosya sistemi bu görevler için çok daha uygun bir sistemdir.

Gerçekten duruma bağlıdır?

  • How the files going to be distributed?
  • Are the files used standalone or are they part of an system which might have its own authorization and authentication logic?
  • Whats your backup strategy?
  • Do you need replication?
  • Do you need to support a lot of I/O?
  • Ne önbelleğe hakkında?

Ben bir veritabanı üzerinde belgeler için dosya sisteminin bir çeşit düşkündürler olacağını söyledi olması.

Advantages:

  1. Dosya deposuna yazma izinleri hakkında endişelenmenize gerek yok.
  2. Yetim dosyaları veya kırık linkleri kaçınarak, veritabanı satırları ile Filestore dosyaları denemek ve senkronize etmek gerek. Örneğin, ilgili içeriği silinir çağlayan dosyaları silebilirsiniz automically edebilirsiniz.
  3. Eğer indeks dosyaları olabilir ve SQL kullanarak içlerinde arama (örneğin Oracle ve SQL Server gibi) bazı veritabanlarında
  4. Benzersiz dosya, klasörler hakkında endişe ve bazı durumlarda basit yükleme yapabilirsiniz Gerek yok
  5. Kolay dosyalara erişimi korumak için yalnızca yetkili kullanıcıların bunları görebilirsiniz

Disadvantages:

  1. Dosyaları hizmet performansı genellikle Filestore kıyasla uğrar
  2. Büyük veritabanları yol açabilir. Bakım ikili sütunları seçerken alınması gerekir.
  3. Daha çalışma dosyalarına bağlantı ve içeriği sunmak için - vb özel eylemcileri gerekir

Şahsen, ben fikir gibi, özellikle DB saklar sıkıştırılmış veya bunları el sıkıştırmak eğer.

Diğer şeyler arasında, bu karmaşıklık bir sürü kaydeder dosyaları, benzersiz isimler hakkında endişelenmenize gerek yok demektir.