Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Производителност на SQL Server 2008 FILESTREAM

Ако 100 потребители поискат 100 файла от 100 Mb (съхранени чрез FILESTREAM) в рамките на прозорец от 10 секунди, ще се забави ли производителността на SQL Server 2008 до обхождане?

На какъв сървър?? Какъв вид хардуер да обслужва тези файлове? Какви дискове, мрежа и т.н.?? Толкова много въпроси.......

Има наистина добра публикация в блог от Пол Рандал на SQL Server 2008:Производителност на FILESTREAM - виж това. Има и 25 страници бяла книга във FILESTREAM наличен - също така обхваща някои съвети за настройка на производителността.

Но също така вижте техническия доклад на Microsoft Research За BLOB или не за BLOB .

Това е много задълбочена и много добре базирана статия, която поставя всички тези въпроси през техните стъпки.

Тяхното заключение:

Така че, съдейки по това - ако вашите петна обикновено са по-малко от 1 MB, просто ги съхранявайте като VARBINARY(MAX) в базата данни. Ако обикновено са по-големи, тогава само функцията FILESTREAM.

Не бих се притеснявал толкова много за производителността, отколкото за други предимства на FILESTREAM спрямо „неуправляваното“ съхранение в папка на NTFS файл:съхранявайки файлове извън базата данни без FILESTREAM, вие нямате контрол над тях:

  • няма контрол на достъпа, предоставен от базата данни
  • файловете не са част от резервното ви копие на SQL Server
  • файловете не се обработват транзакционно, напр. може да се окажете с „зомби“ файлове, които вече не са посочени в базата данни, или „скелетни“ записи в базата данни без съответния файл на диска

Само тези функции правят използването на FILESTREAM абсолютно полезно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте тригер „Вместо“ в SQL Server

  2. Как да използвам резултат от SQL оператор за избор във функцията dbo.fnSplit като вход

  3. SQL Server 2017:Налични функции в Linux

  4. Достъп до базата данни на опашка, за да избегнете множество елементи в кеша

  5. nvarchar конкатенация / индекс / nvarchar(max) необяснимо поведение