2012-07-25 25 views
5

Son zamanlarda ekibimiz, özel uygulamanızın yeteneklerini genişletmek için FILESTREAM'a bakıyordu. Bu uygulamanın temel amacı, biz üretmek tüm parçalar için çeşitli PDFS, Görüntü ve belgeleri yönetmektir. ASP uygulamamız bu dosyaların görüntülenmesine izin vermek için birkaç üçüncü parti araç kullanıyor. Şu anda Fileerver üzerinde 980GB veri var. SQL Server'da 200GB'lık bir ikili veriye sahibiz, çünkü iyi bir performans göstermediğinden, FILESTREAM iki büyük veri depolama/erişim sorunu için iyi bir uzlaşma gibi görünüyor.FILESTREAM/FILETABLE Uygulama için Açıklamalar

birkaç nokta bizim için tam olarak net değildir:

  1. FileStream veya yerel olarak bağlı olmayan bir sürücüde verileri saklamaz Can. Zaten bir RAID 10 (1,5 TB sürücüler) olan bir Dosya Sunucumuz var. Bu sunucu şu anda tüm belgeleri saklıyor, bu sürücüleri FILESTREAM için SQL Server'a taşımak zorunda mıyız? Sunucu aynı zamanda Uygulama Sunucusu (bir fiziksel sunucuda iki VM) olarak iki katına çıktığı için bu ısırmak zor bir mermi olurdu.

  2. FILETABLE, dosyalar hakkındaki genel meta verileri saklar, ancak doc/docx gibi dosyaların aranmasına izin vermek için Tam Metin kısmı nerede depolanır? Bu ayrı mı? Aramak için buna özgürce kriter ekleyebilir misiniz? Eğer varsa, açıklığa kavuşacak bağlantılar takdir edilecektir.

  3. FILETABLE, yabancı bir anahtarla başka bir tabloda başvuruda bulunabilir mi?

önceden

EDIT teşekkür ederiz: Bu bu web video herşeyi kaplı soruları ve daha fazlasını 2012 2008 den filestream açıklayan açısından ve cavets sahip olanlar için dikkate almak (I temsilcisi onu eğer ciddiye olur Yapabilirim: http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2270

Sonuç olarak, FILESTREAM'ı, yatırım için uygun bir yükselişin çok büyük bir yolu olabileceği için kullanmayacağız.

DÜZENLEME 2: # 1

Güncelleme - dikkatlice FileStream ek olarak FileTable değerlendirdikten sonra biz kazanan bir kombinasyon var. Dosyaları yeni sunucuya taşımak zorunda kaldık (aynı VM'de olduklarından ağrılı değildi) .Dosya içinde SQL'de ikili veriyi dosya sistemine dökmek için daha fazla zaman harcadık.

# 2-

Güncelleme - Bu ayrı ama yine Bob mükemmel bir web seminerini açıklayan vardı bu: http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411

# 3 için Güncelleştirme - biz vardı Dokümanlar tablo (eksi iri ikili lekeler) geri dönüştürülmüş TFT miras kullanma hangi Eski uygulamalarımızda çok az değişiklik yapılması gerekiyordu. Bu geliştirici ekibi için büyük bir çekim oldu.

cevap

3

Dosyaların FileTables için depolandığı konumun yerel olması gerekir veya en azından akıllı bir sürücünün kandırabilmesi için yerel olarak SQL Server'a görünmesi gerekir. FileTables şeyler FILESTREAM şeyler üzerine kurulduğundan beri ben aynı sınırlamalar hayal edin.

Dosya dosyalarının aranması, on MSDN belgelenen içerilebilir işlev aracılığıyla yapılır; arama kriterleri, AFAIK aramada FULLTEXT ile aynı sözdizimini kullanır.

Tüm amaç ve amaç için FileTable tipik bir tablodur, böylece birleştirilebilir, aranabilir veya her neyse.Tek şey, FILESTREAM kılavuzlarını bir dosya yolu gibi daha kullanışlı bir şeye dönüştürmek için sql sunucusunun bazı işlevlerini kullanmanız gerektiğidir.

+0

Spot on. Varlık çerçevesini kullandığımızdan beri küçük bir hıçkırıkla karşılaştık. Stream_id'e bir softkey (FK kısıtlaması olmadığı gibi) kullanmaya başvurduk. EF tasarımcısı, FileTables'ı tamamen yok sayar. Ana projemizde, belgelerin yüklenmesi/indirilmesi için küçük bir ADO.Net projesi yaptık. – jjhayter

İlgili konular