Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wydajność SQL Server 2008 FILESTREAM

Jeśli 100 użytkowników zażądałoby 100 100 MB plików (przechowywanych przez FILESTREAM) w ciągu 10 sekund, czy wydajność SQL Server 2008 byłaby spowolniona w porównaniu do indeksowania?

Na jakim serwerze?? Jaki sprzęt do obsługi tych plików? Jakie dyski, sieci itp.?? Tyle pytań.......

Jest naprawdę dobry wpis na blogu autorstwa Paula Randala na temat SQL Server 2008:wydajność FILESTREAM - Sprawdź to. Istnieje również 25-stronicowy dokument na temat FILESTREAM dostępne – obejmuje również kilka wskazówek dotyczących dostrajania wydajności.

Sprawdź też raport Microsoft Research TechReport Do BLOB lub nie do BLOB .

Jest to bardzo głęboki i bardzo dobrze oparty artykuł, który poddaje wszystkie te pytania przez ich tempo.

Ich wniosek:

Więc sądząc po tym — jeśli obiekty BLOB są zwykle mniejsze niż 1 MB, po prostu przechowuj je jako VARBINARY(MAX) w bazie danych. Jeśli zazwyczaj są większe, wystarczy funkcja FILESTREAM.

Nie martwiłbym się tak bardzo wydajnością niż innymi zaletami FILESTREAM nad „niezarządzaną” pamięcią masową w folderze plików NTFS:przechowywanie plików poza bazą danych bez FILESTREAM, nie masz nad nimi kontroli:

  • brak kontroli dostępu zapewnianej przez bazę danych
  • pliki nie są częścią kopii zapasowej serwera SQL
  • pliki nie są obsługiwane transakcyjnie, np. możesz skończyć z plikami "zombie", do których nie ma już odniesień z bazy danych lub wpisami "szkieletu" w bazie danych bez odpowiedniego pliku na dysku

Same te cechy sprawiają, że korzystanie z FILESTREAM jest absolutnie opłacalne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Standardy formatowania SQL

  2. Konwersja nie powiodła się podczas konwertowania wartości varchar „simple” na typ danych int

  3. Jak określić niezmienną kulturę podczas korzystania z FORMAT() w SQL Server

  4. SQL Server Profiler — jak filtrować śledzenie, aby wyświetlać tylko zdarzenia z jednej bazy danych?

  5. Konwertuj DateTime na rrrrMMddGGmm w T-SQL